将效果添加到DataGrid中的某些行

时间:2010-11-10 11:50:18

标签: silverlight datagrid effects

这就是我想要的: 当用户单击按钮时,符合条件的所有行都应添加模糊效果

问题:我发现这样做的唯一方法是在LoadingRow事件中。但在我的情况下,当我想应用模糊效果时,行已经加载。

问题:如何迭代行以便我可以应用模糊效果。或者,更好的是,如何将效果绑定到行?

这是我的代码,仅在启动时应用效果时才有效:

    private void dg_LoadingRow(object sender, DataGridRowEventArgs e)
    {
        if (true) // Logic for figuring out if a row should be blur'ed
            e.Row.Effect = new BlurEffect { Radius = 8 };
    }

感谢您的帮助

Larsi

1 个答案:

答案 0 :(得分:1)

我找到了解决方法:

绑定到DataGridCellPresenter上的Effect属性,如下所示:

<sdk:DataGridCellsPresenter x:Name="CellsPresenter" Grid.Column="1" sdk:DataGridFrozenGrid.IsFrozen="True" Effect="{Binding ., Converter={StaticResource BlurConverter}}"/>

转换器只是:

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
    // Some logic...
    return new BlurEffect { Radius = 8 }; 
}

Lars Erik