gpt4 book ai didi

wpf - 根据wpf中的某些条件禁用datagrid中单元格中的复选框

转载 作者:行者123 更新时间:2023-12-04 06:20:51 26 4
gpt4 key购买 nike

我想根据某些条件禁用包含复选框的单元格。我已经实现了这一点,即复选框看起来确实模糊和禁用,但是当我单击它时,复选框被选中,即它实际上没有被禁用。以下是我尝试过的代码

在 xaml

<toolkit:DataGridCheckBoxColumn Header="Del?" Binding="{Binding DeleteFlag, Mode=Default}" Width="45"  IsReadOnly="True" >
<toolkit:DataGridCheckBoxColumn.ElementStyle>
<Style TargetType="{x:Type CheckBox}">
<Setter Property="IsEnabled" Value="{Binding Path=SortPos, Converter={x:Static my:RowReadOnlyConverter.Instance}}" />
</Style>
</toolkit:DataGridCheckBoxColumn.ElementStyle>
</toolkit:DataGridCheckBoxColumn>

上面突出显示的“SortPos”将一个整数值发送到实现 IValueConverter 的“RowReadOnlyConverter”类。基于某些条件返回 bool 值的接口(interface)。虽然这工作正常,但复选框并没有像上面提到的那样被禁用。我也尝试过“IsHitTestVisible”而不是“IsEnabled”。有没有人知道除上述之外的任何其他可能有效的属性(property)或任何其他解决方案?

如果您需要查看“RowReadOnlyConverter”类或想要行为的屏幕截图,请告诉我。

最佳答案

只需在 Xaml 文件中这样写..这里 isstopprocess 是复选框列,可编辑是基于此列的另一列 isstopprocess 列正在禁用..ok..

<my:DataGridTemplateColumn>
<my:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox Name="chkIstopProcess" IsChecked="{Binding Path=IS_STOP_PROCESS}" IsEnabled="{Binding Path=IsEditable}" MinWidth="50"></CheckBox>
</DataTemplate>
</my:DataGridTemplateColumn.CellTemplate>
</my:DataGridTemplateColumn>

关于wpf - 根据wpf中的某些条件禁用datagrid中单元格中的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6594074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com