簡體   English   中英

WPF-如何根據綁定屬性值設置行樣式?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM