技术文章

了解最新技术文章

当前位置:首页>技术文章>技术文章
全部 110 常见问题 0 技术文章 110

如何绑定 XamDataGrid 单元格颜色以查看模型属性

时间:2023-05-25   访问量:1064

如果要在视图模型端设置单元格颜色并绑定其属性,可以使用 CellBinding 函数轻松完成。

// 模型端 (SampleDataItem.cs)

公共SampleDataItem

{

   public int ID { get ; set ; _

   公共字符串值 1 {获取设置

   public SolidColorBrush Value1Color { get ; set ; } // 设置为 Value1 单元格背景颜色的颜色

}

// 视图模型端 (MainWindowViewModel.cs)

公共MainWindowViewModel

{

   私有ObservableCollection < SampleDataItem > _sampleData;

   public ObservableCollection < SampleDataItem >样本数据

   {

       得到{返回_sampleData ;

       设置{ _sampleData =; }

   }

   公共MainWindowViewModel ()

   {

       // ID=1使Value1单元格的背景色为Pink,ID=4使Value1单元格的背景色为LightGreen,其他为透明

       _sampleData = new ObservableCollection < SampleDataItem >() ;

       _sampleData.Add ( new SampleDataItem () { ID = 1 , Value1 = "aaa" , Value1Color = new SolidColorBrush ( Colors.Pink ) }) ;

       _sampleData.Add ( new SampleDataItem () { ID = 2 , Value1 = "bbb" , Value1Color = new SolidColorBrush ( Colors.Transparent ) }) ;

       _sampleData.Add ( new SampleDataItem () { ID = 3 , Value1 = "ccc" , Value1Color = new SolidColorBrush ( Colors.Transparent ) }) ;

       _sampleData.Add ( new SampleDataItem ( ) { ID = 4 , Value1 = "ddd" , Value1Color = new SolidColorBrush ( Colors.LightGreen ) } ) ;

       _sampleData.Add ( new SampleDataItem () { ID = 5 , Value1 = "eee" , Value1Color = new SolidColorBrush ( Colors.Transparent ) } ) ;

   }

}

<!-- 视图端 (MainWindow.xaml) -->

< igDP:XamDataGrid ...

   DataSource = "{BindingSampleData}" ... >

   < igDP:XamDataGrid.FieldLayoutSettings >

       < igDP:FieldLayoutSettings AutoGenerateFields = "False" />

   < /igDP:XamDataGrid.FieldLayoutSettings >

   < igDP:XamDataGrid.FieldLayouts >

       < igDP:FieldLayout >

           < igDP:FieldLayout.Fields >

               < igDP:Field Name = "ID"标签= "ID" />

               < igDP:Field Name = "Value1" Label = "Value1" >

                   <!-- 使用 CellBinding 将单元格的背景色与视图模型端的属性绑定 -->

                   < igDP:Field.CellBindings >

                       < igDP:CellBinding

                           财产= “背景”

                           Target = "CellValuePresenter"

                           Binding = "{Binding Path=DataItem.Value1Color}" />

                   < /igDP:Field.CellBindings >

               </ igDP:字段>

           < /igDP:FieldLayout.Fields >

       </ igDP:FieldLayout >

   < /igDP:XamDataGrid.FieldLayouts >

</ igDP:XamDataGrid >

 

执行结果


上一篇:使 UltraGrid 列不可编辑

下一篇:我应该使用哪个安装程序?

发表评论:

评论记录:

未查询到任何数据!

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部