Можно ли сохранить введенные пользователем данные в сетке данных WPF в строку var? - PullRequest
2 голосов
/ 13 июня 2019

У меня есть измельчение данных в WPF, которое заполняется классом.У меня есть кнопка, которая в каждом ряду.Я пытаюсь сделать так, чтобы при нажатии кнопки после редактирования поля в строке преобразовывали содержимое в строку var.Var будет использоваться для передачи измененной информации в функцию.

.xaml

<DataGrid x:Name = "NAME"  ItemsSource = "{Binding}" AlternatingRowBackground="DarkGray" AlternationCount="2" HorizontalAlignment = "Stretch" VerticalAlignment = "Top" AutoGenerateColumns = "False" >
    <DataGrid.Columns>
        <DataGridTextColumn Binding = "{Binding PreferenceExtCode}" Header = "Name"  />
        <DataGridTextColumn Binding = "{Binding CustPrefValue}" Header = "Value" />
        <DataGridTemplateColumn Header="View">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Button Name="BtnSave" Content="SAVE" Click="BtnSave_Click"  />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

.cs

private void BtnSave_Click(object sender, RoutedEventArgs e)
{
    UpdatePref gridRow = (UpdatePreference)((Button)e.OriginalSource).DataContext;

    UpdatePref updatePref = (UpdatePref )((Button)e.Source).DataContext;
    string Name = updatePref.PreferenceExtCode;
    string Value = updatePref.CustPrefValue;
    // ...
}

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

1 Ответ

0 голосов
/ 14 июня 2019

Вы можете установить UpdateSourceTrigger привязок на PropertyChanged:

<DataGridTextColumn Binding="{Binding PreferenceExtCode, UpdateSourceTrigger=PropertyChanged}" Header="Name"  />
<DataGridTextColumn Binding="{Binding CustPrefValue, UpdateSourceTrigger=PropertyChanged}" Header="Value" />
...