如何解决从 DataGrid.SelectionChanged 事件
我有一个 DataGrid 并从 DataGrid Selected 项加载用户控件。在用户控件中再有一个带有 RowStyle 的数据网格。对于行样式,我使用了 DataTrigger 和 IValueConverter。 加载用户控件数据网格时,行背景颜色会更新。但是当重新加载这个主 Datagrid 并更改 SelectedItem 时,Row Background 会保留旧的背景颜色一段时间,然后在用户控件的 datagrid 中刷新。
尝试使用 DataTriggers 和 Converters with UpdateSourceTrigger="PropertyChanged"。没有任何帮助。
转换器:
public class BackgroundColorConverter : IValueConverter
{
/// <summary>
///
/// </summary>
/// <param name="value"></param>
/// <param name="targettype"></param>
/// <param name="parameter"></param>
/// <param name="culture"></param>
/// <returns></returns>
public object Convert(object value,Type targettype,object parameter,CultureInfo culture)
{
if (!(bool)value)
return new System.Windows.Media.solidColorBrush((System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString("#42f4cb"));
return new System.Windows.Media.solidColorBrush((System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString("#e4e9f5"));
}
Xml:`
<controls:ClmbDatagrid.RowStyle>
<Style targettype="DataGridRow" BasedOn="{StaticResource DataGridRowStyle}">
<Setter Property="Background" Value="{Binding Path=IsEnabled,RelativeSource={RelativeSource Self},Converter={StaticResource BackgroundColorConverter}}"/>
</Style>
</controls:ClmbDatagrid.RowStyle>
当与 DataTrigger 一起使用更新行背景时:
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsEnabled,RelativeSource={RelativeSource Self}}" Value="False">
<Setter Property="Background" Value="#42f4cb"></Setter>
</DataTrigger>
</Style.Triggers>
如何在没有旧背景颜色的情况下立即加载具有更新背景颜色的行
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。