我正在研究与DataTable绑定的XamGrid。我希望在特定条件下禁用单元格的编辑。我创建了XamGrid的行为。
能根据我的要求提出解决方案吗?
发布于 2016-05-09 07:18:13
尝试使用数据触发器定义样式:
<igWPF:XamDataGrid.Resources>
...
<Style TargetType="CellValuePresenter">
<Style.Triggers>
<!--one condition based trigger - condition is inside the cell data context-->
<DataTrigger Binding="{Binding Path=DataItem.ConditionA}" Value="True">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<!--multiple condition based trigger - condition is inside the cell data context-->
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=DataItem.ConditionA}" Value="True" />
<Condition Binding="{Binding Path=DataItem.ConditionB}" Value="False" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter Property="IsEnabled" Value="False"></Setter>
</MultiDataTrigger.Setters>
</MultiDataTrigger>
</Style.Triggers>
</Style>
...
</igWPF:XamDataGrid.Resources>致以问候。
发布于 2016-05-09 09:22:06
CellValuePresenter的使用风格
<Style x:Key="DisableForCTE" TargetType="{x:Type iDP:CellValuePresenter}" >
<Style.Triggers>
<DataTrigger Binding="{Binding Path=DataItem.CTESubLocation}" Value="No">
<Setter Property="IsEnabled" Value="False"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>此外,如果条件是预先定义的,则可以将cells禁用为列级别:
<iDP:Field Name="LatestEffectiveDate" Label="Latest Effective Date" >
<iDP:Field.Settings>
<iDP:FieldSettings AllowEdit="False">
</iDP:FieldSettings>
</iDP:Field.Settings>
发布于 2016-05-10 14:45:15
这是为我工作的:
dataGrid.EditingSettings.AllowEditing = EditingType.None;https://stackoverflow.com/questions/37108666
复制相似问题