我希望能够从 DataGrid Cell 中复制文本。
- 第一个可能的解决方案可能是设置
SelectionUnit
为,Cell
但这不是我的选择,因为我需要选择FullRow
- 第二种可能的方法是
DataGridTemplateColumn
使用 readonlyTextBox
。但是样式有问题。我之前的问题:DatagridCell 样式被 TextBox 样式覆盖。我需要为行中的文本提供非常明亮的颜色,但在所选行中非常暗。 三是在 DataGrid 上设置 IsReadOnly="False" 并
EditingElementStyle
提供DataGridTextColumn
<Style x:Key="EditingStyle" TargetType="{x:Type TextBox}"> <Setter Property="IsReadOnly" Value="True"/> </Style> ... <DataGridTextColumn ... EditingElementStyle="{DynamicResource EditingStyle}"/>
但是,当内部文本框设置为只读时,WPF Datagrid Text Column 允许输入一个字符文本,这是一个非常可怕的错误。
你知道一些不同的解决方案吗?或解决方法?谢谢你。
编辑
我注意到Extended WPF Toolkit没有这个错误DataGrid
,但它似乎有不同的结构,我无法应用我的 DataGrid 样式。
我注意到使用 ReadOnly TextBox 作为 DataGridColumn 的 EditingElementStyle 会带来更多问题。当您使用OneWay绑定时,无法将单元格设置为Editing state。例如,让用户覆盖DataGrid 中显示的某些实体的ID是不可接受的。所以它必须以某种方式只读或至少是OneWay绑定。
目前我对此根本没有解决方案。有没有其他方法可以让用户在选择并突出显示行时从单元格中复制?我没有注意到其他解决方案吗?谢谢阅读。