У меня есть приложение WPF 4.0, и я использую WPF DataGrid.Я хочу использовать навигационные кнопки в моем представлении, чтобы изменить SelectedItem в DataGrid, вместо того, чтобы позволить пользователю изменять SelectedItem, щелкнув DataGrid.Я использую ICollectionView в моей ViewModel в качестве ItemsSource для моей DataGrid.Вот что у меня есть:
NextCommand (ViewModel):
DefaultView.MoveCurrentToNext(); // DefaultView is an ICollectionView
SelectedItem = DefaultView.CurrentItem as MyProperty;
DataGrid (View):
<DataGrid ItemsSource="{Binding Path=DefaultView}"
SelectedItem="{Binding Path=SelectedItem}"
IsSynchronizedWithCurrentItem="True">
...
</DataGrid>
Кнопки навигации работают отлично ...однако я не хочу позволять пользователю нажимать на DataGrid для изменения SelectedItem.Есть идеи, как этого добиться?Я поиграл с событием DataGrid_SelectionChanged, но проблема в том, что привязка к SelectedItem обновляет ViewModel еще до того, как это событие сработает.Я бы предпочел, чтобы SelectedItem не менялся дважды (один раз, когда пользователь щелкает, и дважды, когда он возвращается к оригиналу).Я в порядке с использованием кода, если это необходимо ...