要改變cell值得顏色 需要用到cellTemplate和convert
<DataTemplate x:Key="PercentageCellColorTemplate">
<dxe:TextEdit Name="PART_Editor" Mask="p2" MaskType="Numeric" MaskUseAsDisplayFormat="True" FontWeight="Bold" Foreground="{Binding Value, Converter= {StaticResource colorConvert}}">
</dxe:TextEdit>
</DataTemplate>
Foreground="{Binding Value} 這個value就是這個cell里面的值,在convert中可以根據值得情況來返回不同的顏色值
convert類定義形式如下:
public class ColorConvert : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string returnValue = "Black"; //默認為black
if (value != null)
{
string sValue = value.ToString();
if (sValue != "")
{
double dValue;
if (double.TryParse(value.ToString(), out dValue))
{
if (dValue > 0)
returnValue = "Red";
else if (dValue < 0)
{
returnValue = "Green";
}
else
{
returnValue = "Black";
}
}
}
}
return returnValue;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
}
設置改列的cellTemplate屬性
<dxg:GridColumn Header="colorTest" FieldName="test" CellTemplate="{StaticResource PercentageCellColorTemplate}">
</dxg:GridColumn>
通過上面過程Foreground屬性會根據當前cell的值 來得到不同的屬性值 從而顯示不同的顏色。