Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于wpf中的某些条件禁用datagrid中单元格中的复选框_Wpf_Wpf Controls_Styles_Wpfdatagrid_Wpftoolkit - Fatal编程技术网

基于wpf中的某些条件禁用datagrid中单元格中的复选框

基于wpf中的某些条件禁用datagrid中单元格中的复选框,wpf,wpf-controls,styles,wpfdatagrid,wpftoolkit,Wpf,Wpf Controls,Styles,Wpfdatagrid,Wpftoolkit,我想根据某些条件禁用包含复选框的单元格。我已经做到了这一点,即复选框确实看起来模糊和禁用,但当我单击它时,复选框被选中,即它实际上没有被禁用。下面是我试用过的代码 在xaml中 <toolkit:DataGridCheckBoxColumn Header="Del?" Binding="{Binding DeleteFlag, Mode=Default}" Width="45" IsReadOnly="True" > <toolkit:DataGridCheckBox

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

在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”向“RowReadOnlyConverter”类发送一个整数值,该类实现了
IValueConverter
接口,该接口根据某些条件返回布尔值。尽管这可以正常工作,但复选框不会像上面提到的那样被禁用。我还尝试了“IshitteVisible”而不是“IsEnabled”。是否有人知道任何其他可能有效的财产或除上述以外的任何其他解决方案


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

只需在Xaml文件中这样写。.这里ISSTOPROSS是复选框列,is editable是基于此列的另一列ISSTOPROSS列正在禁用。.确定

<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>