【问题标题】:WPF single Click CheckBox on writeprotected DataGridWPF单击写保护DataGrid上的复选框
【发布时间】:2014-02-28 12:29:22
【问题描述】:

我发现很多很多与我的问题非常接近的建议,但它们似乎都是“肮脏的黑客”。

我的程序显示一个订单列表。用户应该能够从该列表中标记订单,然后保存该选择以便稍后在订单到达时通知。

DataGrid 绑定到一个 DataTable 对象,并且启用了写入功能的 DataGrid 它按预期工作,除了两件事:

  1. 用户必须点击两次,一次选择行,第二次切换复选框

  2. usr 可以编辑数据网格中不需要的其他字段。此外,他可以向数据网格添加行,这可能会让我对数据库感到痛苦。

我的目标是除了复选框单元格之外,Datagrid 中的字段不可更改。我不在乎用户是否必须单击复选框、单元格甚至只是行来触发更改,但更改应该只需单击一下即可完成。

有人可以提示我吗,我已经失去了评价和评估我之前提到的所有不同方法的能力。

亲切的问候。

【问题讨论】:

    标签: c# wpf datagrid


    【解决方案1】:

    为复选框列创建一个模板列,其中包含一个复选框。然后将 Checkbox.IsChecked 绑定到您的绑定值。您还可以将某些列设置为只读。在 Code 中,您只需为 Datagrid 设置 Itemssource。

    这里有一些 XAML

    <DataGrid AutoGenerateColumns="False">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="Row1" Binding="{Binding r1Value}" IsReadOnly="True"></DataGridTextColumn>
                    <DataGridTemplateColumn Header="CB" IsReadOnly="False">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <CheckBox IsChecked="{Binding PropertyIsChecked}" />
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                </DataGrid.Columns>
            </DataGrid>
    

    【讨论】:

    • @Lorgarn - 你也可以使用DataGridCheckBoxColumn
    猜你喜欢
    • 2011-04-19
    • 1970-01-01
    • 2016-01-13
    • 2018-06-24
    • 1970-01-01
    • 2013-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多