WPF数据网格基于具有绑定的同一行中的另一个单元格使单元格只读



我有一个非常简单的WPF数据网格,有两列,一列带有复选框,另一列带有字符串类型。当选中GridCheckBoxColumn时,我需要使GridTextColumn为只读,反之亦然。但我想通过绑定和MVVM模式来实现这一点。

<syncfusion:SfDataGrid AllowFiltering="True"
AutoGenerateColumns="False"
Grid.Row="0" ItemsSource="{Binding Decades}"
ColumnSizer="Star"
GridValidationMode="InView"
AllowEditing="True">
<syncfusion:SfDataGrid.Columns>
<syncfusion:GridTextColumn HeaderText="{x:Static properties:Strings.Id}" MappingName="Id" IsReadOnly="True"/>
<syncfusion:GridTextColumn HeaderText="{x:Static properties:Strings.Name}" MappingName="Name" UpdateTrigger="PropertyChanged"/>
<syncfusion:GridTextColumn HeaderText="{x:Static properties:Strings.StartDate}" MappingName="StartDate"/>
<syncfusion:GridTextColumn HeaderText="{x:Static properties:Strings.EndDate}" MappingName="EndDate"/>
<syncfusion:GridCheckBoxColumn HeaderText="{x:Static properties:Strings.NonStandard}" MappingName="NonStandard"/>
<syncfusion:GridTextColumn HeaderText="{x:Static properties:Strings.PayDay}" MappingName="PayDay" AllowEditing="{Binding ????}"}"/>
</syncfusion:SfDataGrid.Columns>
</syncfusion:SfDataGrid>

这不是一个简单的方法
一种解决方案是在TextBox所在的单元格模板中使用DataGridTemplateColumn。并且TextBox被设置为以您需要的方式绑定IsReadOnly属性。

相关内容

最新更新