文章分類/

Infragistics|Ultimate UI for WPF|XamDataGrid 根據單元格值變更整行顏色

0 次瀏覽
2023-09-28 更新

infragistics log

讓我們根據 XamDataGrid 中的單元格值來變更整行的顏色。完成的圖像將如下所示。

1. 將 IValueConverter 的實例綁定到 DataRecordCellArea 的 Background 屬性。

將 Style 的實例新增至以 DataRecordCellArea 為目標的 Resources,並將 Background 屬性綁定到儲存格的庫存值。此外,指定一個 IValueConverter(*在步驟 2 中編碼),用於傳回庫存數量的顏色。

新增至資源的樣式使用XamDataGrid 的 FieldLayoutSettings 的DataRecordCellAreaStyle屬性連結到 XamDataGrid 。

<Window.Resources>

    <!-- IValueConverter(※実体は手順2でコーディングします) -->
    <local:StockedAmountToBrushConverter1 x:Key="stockedAmountToBrushConverter1"/>

    <!-- DataRecordCellAreaのStyle -->
    <Style TargetType="{x:Type igDP:DataRecordCellArea}" x:Key="myRecordStyle1">
        <Setter Property="Background" Value="{Binding Cells[StockedAmount].Value, Converter={StaticResource stockedAmountToBrushConverter1}, Mode=OneWay}"/>
    </Style>
</Window.Resources>
...
<igDP:XamDataGrid>
    <igDP:XamDataGrid.FieldLayoutSettings>

        <!-- DataRecordCellAreaStyleプロパティにResourcesのStyleを指定 -->
        <igDP:FieldLayoutSettings DataRecordCellAreaStyle="{StaticResource myRecordStyle1}"/>

    </igDP:XamDataGrid.FieldLayoutSettings>
</igDP:XamDataGrid>

2. 建立IValueConverter實體。

編寫一個 IValueConverter,傳回庫存計數的顏色。

public class StockedAmountToBrushConverter1 : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if(value != null)
        {
            // 渡されてきたvalue(=Cells[StockedAmount].Value(在庫数))を整数値に変換する。
            int stockedAmount = (int)value;
            // 在庫数が20未満ならピンクを返す
            if (stockedAmount < 20) return new SolidColorBrush(Colors.Pink);
            // それ以外は白を返す
            else return new SolidColorBrush(Colors.White);
        }
        return Binding.DoNothing;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

這樣就完成了整個過程。

快速跳轉目錄

✦ 群昱 AccessSoft 你的全面軟體解決方案 ✦

身為全球眾多知名軟體在台灣合作夥伴,歡迎諮詢你需要的軟體服務!

Picture of 軟體專家
軟體專家

群昱作為全球知名軟體推薦合作夥伴,致力於提供更多軟體解決方案給你!

更多軟體新知

立即詢價

請留下完整資訊,以便我們提供精確的服務內容給你。

詢價資訊