получить значение флажка из сетки данных? - PullRequest
3 голосов
/ 11 июня 2011
<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, в событии click, я хочу увидеть, изменилось ли оно, когда они его проверяют, на проверенное или не проверено, чтобы я мог обрабатывать в базе данных, изменяя пользователя с admin на not admin и наоборот. Однако простой вызов IsAdminCheckBox не работает, потому что он не может его найти, а также вызов datagridName.IsAdminCheckBox не работает. Кто-нибудь знает, как получить доступ к статусу флажка?

1 Ответ

2 голосов
/ 11 июня 2011

Вы не можете получить доступ к флажку таким образом, потому что может быть более одного из них, имя допустимо только внутри DataTemplate.

В обработчике событий параметр senderдолжно быть CheckBox, вам нужно просто разыграть его, а затем вы можете получить доступ к свойству IsChecked.Другой вариант - обработать события Checked и Uncheked.

Но я думаю, что лучшим способом было бы обработать это в связанном классе, а не в коде позади вашего GUI, разделение задачи все такое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...