WPF datagrid中根據不同值改變字體顏色


引用網址:https://blog.csdn.net/qq_29844879/article/details/80200568

我這里是使用的轉換器,直接上代碼(部分代碼)。

后台代碼:

namespace MyControlLibrarys
{
/ 定義轉換器
[ValueConversion(typeof(string), typeof(SolidColorBrush))]
public class DataColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null || value.ToString() == "")
return "";

if (value.ToString() == "不通過")//這里根據你里面的值自己寫判斷條件
{
try
{
return new SolidColorBrush(Colors.Red);
}
catch
{ throw; }
}

return new SolidColorBrush(Colors.Black);
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}

xmal:

xmlns:local="clr-namespace:MyControlLibrarys"

//包含資源
<UserControl.Resources>
<ResourceDictionary>
<local:DataColorConverter x:Key="DataColorConverterStyle"/>
</ResourceDictionary>
</UserControl.Resources>

<DataGrid Grid.Row="1" Grid.Column="0" Name="dgData" AutoGenerateColumns="False" CanUserAddRows="False" GridLinesVisibility="All">
<DataGrid.Columns>
<DataGridTextColumn Width="0.8*" Header="序號" ElementStyle="{StaticResource contentCenterStyle}" Binding="{Binding Path=OrderId, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"></DataGridTextColumn>
<DataGridTextColumn Header="測試步驟" Width="2*" Binding="{Binding Path=step, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"></DataGridTextColumn>
<DataGridTextColumn Header="測試內容" Width="2*" Binding="{Binding Path=content, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"></DataGridTextColumn>
<DataGridTextColumn Header="標准" Width="2*" Binding="{Binding Path=standard, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"></DataGridTextColumn>
<DataGridTextColumn Header="實測" Width="2*" Binding="{Binding Path=actual, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"></DataGridTextColumn>
<!--DataGridTextColumn Header="結論" Width="2*" Binding="{Binding Path=conclusion, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" Foreground="{Binding Path=conclusion, Converter={StaticResource DataColorConverterStyle}}"></-->
<!--這里一定要用下面這種格式才能成功-->
<DataGridTemplateColumn Width="2*" Header="結論">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=conclusion,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Foreground="{Binding Path=conclusion,Converter={StaticResource DataColorConverterStyle}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
效果:


————————————————
版權聲明:本文為CSDN博主「creay_king」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_29844879/article/details/80200568


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM