[英]WPF - How do I style a row based on a binding property value?
所以我試圖將對象的集合(IList <>)綁定到WPF數據網格。 如果'artist'屬性為null或為空,我想使行背景具有不同的顏色。 我正在檢查存儲在LoadingRow datagrid事件上的屬性的值。 目前,我的實現似乎為所有行正確設置了具有空或null的'artist'屬性的樣式。 問題在於,在某些情況下,該樣式還會設置屬性不為null或為空的行。 因此,即使行的“藝術家”屬性不為空,某些行也會被賦予紅色背景。 誰能告訴我為什么會這樣嗎?
這是LoadingRow事件:
private void trackGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
Track t = e.Row.DataContext as Track;
if (String.IsNullOrEmpty(t.Artist))
{
e.Row.Background =
new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 255, 125, 125));
}
}
我在這種情況下使用視圖模型,它允許直接綁定到行的顏色。
在此站點上查看彩色行示例項目
似乎最簡單的方法是對同一行多次調用測試,而第二次該值不再為空。 我不能猜測,為什么會發生,但在此之前,它應該很容易與測試:
else
{
e.Row.Background = DependencyProperty.UnsetValue;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.