2010-11-10 61 views
2

這就是我想要的: 當用戶點擊一個按鈕,即滿足條件的所有行應該有一個模糊效果添加添加效果的一些列在DataGrid

問題:唯一我發現這樣做的方式是在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

我找到了解決這個:

綁定到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 }; 
} 

拉爾斯·埃裏克·