<dxg:GridControl x:Name="m_grid" SelectionMode="Row" AutoGenerateColumns="AddNew" ItemsSource="{Binding Path=MyDT,Mode=TwoWay}">
<dxg:GridControl.Columns>
<dxg:GridColumn x:Name="col_A" AllowEditing="False" FieldName="A" />
<dxg:GridColumn x:Name="col_B" AllowEditing="False" FieldName="B" />
<dxg:GridColumn x:Name="col_C" AllowEditing="False" FieldName="C" />
<dxg:GridColumn x:Name="col_D" AllowEditing="False" FieldName="D" />
<dxg:GridColumn x:Name="col_E" AllowEditing="True" FieldName="E" />
</dxg:GridControl.Columns>
</dxg:GridControl>
我在使用MVVM设计battern开发的wpf应用程序中有一个Grid
控件。我的GridControl
绑定到我的视图模型“MyDT”中的DataTable
。现在“MyDT”中的一列是bool类型,因此GridControl
将其转换为复选框。这是我GridControl
中唯一可编辑的列,剩下的列是不可编辑的,我在xaml中确定了。我需要做的是通过绑定到我的viewmodel中的属性,在GridControl
中的任何行中勾选/取消选中复选框时触发事件。 xaml将如何改变?
答案 0 :(得分:0)
属性已绑定到您的复选框,即dt
中的属性如果你想故意处理检查事件..添加一个checkBoxColumn或模板列而不是Grid Column ..
您可以访问已检查事件或相关命令的方式。
答案 1 :(得分:0)
假设您的ICommand
CheckBoxCommand
的{{1}}
ViewModel
请注意,command参数实际上是您的Model,因此在ViewModel中您可以使用如下命令:
<dxg:GridColumn>
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<dxe:CheckEdit
Command="{Binding Path=View.DataContext.CheckBoxCommand}"
CommandParameter="{Binding RowData.Row}"/>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>