【问题标题】:WPF Datagrid isReadOnly = True, makes the checkboxcolumn disabledWPF Datagrid isReadOnly = True,使复选框列禁用
【发布时间】:2011-07-18 04:50:52
【问题描述】:

WPF Datagrid isReadOnly = True,即使我在 DatagridCheckboxColumn 上设置 isReadOnly = false,也会禁用复选框列。

如何启用复选框列?

【问题讨论】:

  • 问题是如何启用checkboxColumn

标签: .net wpf wpfdatagrid


【解决方案1】:

您可以使用不使用 IsReadOnly 属性的 CheckBox 创建自己的 DataGridTemplateColumn:

<DataGridTemplateColumn>
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <CheckBox />
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

【讨论】:

  • 我最终构建了一个全新的列类型,它可以做到这一点(以及其他行为),而且效果很好!我可以在 GenerateElement 调用中挂钩新的复选框。我确实必须手动为其设置绑定,因为 GridTemplateColumn 不是从 GridBoundColumn 派生的,但是,这是一个很小的代价。
【解决方案2】:

您不能在列中设置 DataGrid IsReadOnly。

示例:

<DataGrid>
    <DataGrid.Columns>
        <DataGridCheckBoxColumn Header="SL" />
        <DataGridTextColumn Header="Column1" IsReadOnly="False"/>
        <DataGridTextColumn Header="Column2" IsReadOnly="False"/>
        <DataGridTextColumn Header="Column2" IsReadOnly="False"/>
    </DataGrid.Columns>
</DataGrid>

您可以为资源中指定的列创建样式,并将 DataGrid 设置为不必继续放入所有列 IsReadOnly

Daniel Freire - 巴西 在谷歌上将回复从葡萄牙语翻译成英语

【讨论】:

  • 但是我如何阻止用户在底部添加一行?
  • 在 DataGrid 中将属性“CanUserAddRows”设置为 false
猜你喜欢
  • 2016-01-13
  • 2010-11-14
  • 2018-06-24
  • 2019-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-01
  • 1970-01-01
相关资源
最近更新 更多