C# 数据网格已经不能正常工作了

C# 数据网格已经不能正常工作了,c#,wpf,xaml,C#,Wpf,Xaml,我有一个数据网格,其中isReadOnly设置为true。在该dataGrid中,我有多个列(DataGridTemplateColumn),我面临的问题是: <DataGridTemplateColumn IsReadOnly="True" SortMemberPath="OnVacation" Header="En vacance" > <DataGridTemplateColumn

我有一个数据网格,其中
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
(正如您在上面看到的),但这没有起任何作用。我仍然可以选中/取消选中复选框,它将更改。

如果您想永久保留用户不可更改的复选框,则可以使用

1。IsEnabled=“False”


2。ishitestvisible=“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>


Mode=two-way的任何具体原因CheckBox@un-幸运的是,我只是从我做的另一行复制粘贴,忘记删除它,没有任何理由。不管是哪种方式,删除它都不会有多大作用。试试这个:这会给我留下一个灰色的复选框。我不想这样。那么你应该为复选框准备一个样式,以便在禁用时显示正常。
<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>