簡體   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