这是我的代码
<DataGrid.Columns>
<DataGridTemplateColumn Header="" Width="30" IsReadOnly="False">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path = chk, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}">
<ContentPresenter VerticalAlignment="Center"
HorizontalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridTemplateColumn.CellStyle>
</DataGridTemplateColumn>
我有一个例外 绑定类型为TwoWay OneWayToSource或无法使用只读属性“chk”类型“System.Data.DataRowView”。
当我做模式= OneWay时,一切都很好。但我需要更改目标对象和源对象
答案 0 :(得分:1)
您绑定到ComboBox的属性“chk”没有实现“set”,因此它只被认为是readonly。实现set并调用INotifyPropertyChanged接口以通知属性中的更改。