WPF Datagrid RowEditEnding в среде MVVM - PullRequest
       37

WPF Datagrid RowEditEnding в среде MVVM

5 голосов
/ 07 сентября 2011

Я пытался зафиксировать значения, которые пользователь вводит в сетку данных с помощью

<b:Interaction.Triggers>
    <b:EventTrigger EventName="RowEditEnding">
        <b:InvokeCommandAction  Command="{Binding ReleaseRowEditEndingCommand}" CommandParameter="{Binding SelectedRelease}"/>
    </b:EventTrigger>

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

private void OnRowEditEnding(object sender, DataGridRowEditEndingEventArgs e)

Кто-нибудь добился получения значений post-rowedit в ситуации с MVVM? Кажется, что все решения тесно связывают событие с XAML, и я хотел бы избежать этого, если это возможно.

Ответы [ 2 ]

1 голос
/ 13 сентября 2011

Решение было на самом деле проще, чем я думал.Я изменил XAML и теперь могу получить значения в событии RowEditEnding в модели представления.Вот столбцы данных в таблице данных:

0 голосов
/ 12 сентября 2011

Вы можете попробовать обернуть ваши данные в ListCollectionView и связать DataGrid с ListCollectionView.Затем в вашей ViewModel подключитесь к событию ListCollectionView.CurrentChanging, чтобы обработать изменения перед переходом на новую строку.

...