получить данные из сетки данных по нажатию кнопки в приложении WPF - PullRequest
2 голосов
/ 30 апреля 2011

У меня есть сетка данных, которая состоит из флажка и пары столбцов. Когда клиент нажимает на флажок, я запускаю событие выбора измененной сетки, которое отображает некоторые данные от выбранного ряда до метки. Но мне нужны и данные выбранной строки, когда я нажимаю кнопку.

Есть ли какой-нибудь хороший способ получить это?

1 Ответ

6 голосов
/ 30 апреля 2011

На основании вашего комментария вы должны попробовать это тогда (DataGrid называется dataGrid в XAML):

private void Button1_Click(object sender, RoutedEventArgs e)
{
    // If the grid is populated via a collection binding the SelectedItem will
    // not be a DataGridRow, but an item from the collection. You need to cast
    //  as necessary. (Of course this can be null if nothing is selected)
    var row = (DataGridRow)dataGrid.SelectedItem;
}

Можно использовать Tag ( Редактировать:Если вы используете CheckBoxColumn, вы можете использовать стили для этого, если у вас есть проблемы с этим, я мог бы привести пример ):

<DataGridTemplateColumn>
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <Button Click="Button1_Click"
                    Tag="{Binding RelativeSource={RelativeSource AncestorType=DataGridRow}}"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
private void Button1_Click(object sender, RoutedEventArgs e)
{
    var button = (FrameworkElement)sender;
    var row = (DataGridRow)button.Tag;
    //...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...