繁体   English   中英

从数据网格中获取复选框的值?

[英]get value of checkbox from datagrid?

<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 也不起作用。 有谁知道如何访问复选框的状态?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM