我有一个dataGrid,其中isReadOnly
设置为true
。在该dataGrid中,我有多个列(DataGridTemplateColumn),我面临的问题是这一列:
<DataGridTemplateColumn IsReadOnly="True" SortMemberPath="OnVacation" Header="En vacance" > <DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox VerticalAlignment="Center" IsChecked="{Binding Path=OnVacation, Mode=TwoWay}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
我还在列本身中设置了sReadyOnly
(如您在上面看到的那样),但这没有任何作用。我仍然可以选中/取消选中CheckBox,它将改变。
答案 0 :(得分:0)
如果您永久不希望用户更改复选框,则可以使用
1。 IsEnabled =“ False”
<DataGridTemplateColumn IsReadOnly="True" SortMemberPath="OnVacation" Header="En vacance" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox VerticalAlignment="Center" IsChecked="{Binding Path=OnVacation,
Mode=TwoWay}" IsEnabled="False" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
2。 IsHitTestVisible =“ False”
<DataGridTemplateColumn IsReadOnly="True" SortMemberPath="OnVacation" Header="En vacance">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox VerticalAlignment="Center" IsChecked="{Binding Path=OnVacation, Mode=TwoWay}" IsHitTestVisible="False">
</CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>