【问题标题】:WPF datagrid only editable if double clickWPF 数据网格只有在双击时才可编辑
【发布时间】:2019-05-01 12:43:08
【问题描述】:

我有一个 DataGrid,我希望用户能够编辑某些列,但前提是他们先双击单元格。在他们单击单元格的那一刻,然后开始输入它会立即进入编辑模式。

我曾尝试使用 MouseDoubleClick 事件并禁用只读,但无法在后面的代码中设置此属性。

有任何帮助/其他建议吗?谢谢

【问题讨论】:

标签: c# wpf wpfdatagrid


【解决方案1】:

我通过设置列属性 IsReadOnly="True" 解决了这个问题。

然后为每个单元格连接到事件 MouseDoubleClick。

<Style TargetType="{x:Type DataGridCell}">
    <EventSetter Event="MouseDoubleClick" Handler="DataGridCell_MouseDoubleClick" />
</Style>

在后面的代码中:

private void DataGridCell_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
    if (sender.GetType() == typeof(DataGridCell))
    {
         DataGridCell cell = sender as DataGridCell;
         cell.IsEditing = true;
    }
}

这似乎忽略了 isreadonly 属性,双击后我可以成功更新该属性。此时您也可以按名称过滤掉某些列,但我不需要这样做。

【讨论】:

    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 2015-08-16
    • 1970-01-01
    • 2015-03-26
    相关资源
    最近更新 更多