如何使用 CaretVisible 使 DataGridColumn 只读?

How to make DataGridColumn ReadOnly but with CaretVisible?

有没有办法让 DataGrid 的列处于只读模式但插入符可见?使用 IsReadOnlyCaretVisible 属性 时类似于文本框? 如果您设置 IsReadOnly 属性 列将被禁用并且无法单击该单元格。

<DataGrid ItemsSource="{Binding Customers}" AutoGenerateColumns="False">
         <DataGrid.Columns>
             <DataGridTextColumn Binding="{Binding Name}"></DataGridTextColumn>
             <DataGridTextColumn Binding="{Binding Income}" IsReadOnly="True"></DataGridTextColumn>
         </DataGrid.Columns>
</DataGrid>

您可以使用 TextBox 创建 DataGridTemplateColumn。参考下面的代码。

<DataGridTemplateColumn Header="Name">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBox Text="{Binding Name}" IsReadOnly="True" IsReadOnlyCaretVisible="True"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>                   
            </DataGridTemplateColumn>