在我的XAML中,我正在尝试将AllowEdit属性与一个属性绑定到我的XamDataGrid上
<igDP:XamDataGrid.FieldSettings>
<igDP:FieldSettings AllowEdit="{Binding Path=DataItem.Approved}"/>
</igDP:XamDataGrid.FieldSettings>
但它不起作用。其他所有绑定都正常工作。有什么想法吗?我是WPF的新手,所以任何帮助将不胜感激。
在我的XAML中,我正在尝试将AllowEdit属性与一个属性绑定到我的XamDataGrid上
<igDP:XamDataGrid.FieldSettings>
<igDP:FieldSettings AllowEdit="{Binding Path=DataItem.Approved}"/>
</igDP:XamDataGrid.FieldSettings>
但它不起作用。其他所有绑定都正常工作。有什么想法吗?我是WPF的新手,所以任何帮助将不胜感激。
我使用样式来解决这个限制,例如:
<igWPF:Field Name="SomeValue">
<igWPF:Field.Settings>
<igWPF:FieldSettings EditorType="{x:Type igWPF:XamNumericEditor}">
<igWPF:FieldSettings.EditorStyle>
<Style TargetType="{x:Type igWPF:XamNumericEditor}">
<Setter Property="IsReadOnly" Value="{Binding DataItem.IsReadOnly}" />
</Style>
</igWPF:FieldSettings.EditorStyle>
</igWPF:FieldSettings>
</igWPF:Field.Settings>
</igWPF:Field>
我通常使用一种样式来实现这个,就像 @larsmona 上面的回答中所述。最近我学习了使用CellBindings和FieldBindings来实现这个。
https://www.infragistics.com/help/wpf/xamdatagrid-binding-cell-settings-data-item-properties
<igDP:Field Name="SomeName" Row="0" Column="1" Label="SomeLabel" AllowEdit="True">
<igDP:Field.CellBindings>
<igDP:CellBinding Target="Editor" Property="IsReadOnly" Binding="{Binding DataItem.SomeProperty}"></igDP:CellBinding>
</igDP:Field.CellBindings>
</igDP:Field>
也许你正在绑定到 ObservableCollection
?如果是这种情况,你无法编辑你的项目。你可以尝试绑定到 BindingList
。