【问题标题】:get value of checkbox from datagrid?从数据网格中获取复选框的值?
【发布时间】:2011-09-12 19:16:46
【问题描述】:
<DataGridTemplateColumn Header="IsAdmin">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <CheckBox Name="IsAdminCheckBox" IsChecked="{Binding Path=IsAdmin}" Click="IsAdmin_Click" CommandParameter="{Binding Path=Id}"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

这是我的程序中用于数据网格的代码。在 CS 文件中,在单击事件中,我想看看当他们检查它时,它是否更改为选中或未选中,以便我可以在数据库中处理,将用户从管理员更改为非管理员,反之亦然。但是,仅调用 IsAdminCheckBox 不起作用,因为它找不到它,并且调用 datagridName.IsAdminCheckBox 也不起作用。有谁知道如何访问复选框的状态?

【问题讨论】:

    标签: c# wpf xaml datagrid checkbox


    【解决方案1】:

    您不能通过这种方式访问​​复选框,因为可能有多个,名称仅在 DataTemplate 内有效。

    在事件处理程序中,sender 参数应该是CheckBox,您只需将其强制转换,然后您就可以访问IsChecked 属性。另一种选择是处理CheckedUncheked 事件。

    但我认为更好的方法是在绑定的类中处理这个问题,而不是在你的 GUI 的代码隐藏、关注点分离等等。

    【讨论】:

    • 你能举个例子吗:-)
    猜你喜欢
    • 2011-03-03
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多