Я пытаюсь реализовать свое первое приложение WPF с использованием шаблона проектирования MVVM.
Я создал приложение, которое связывает данные с ObservableCollection <>. Приложение работает нормально, Источник данных должен реализовывать IEnumerable, мой. Мне нужно установить CanUserSortColumns и / или CanUserSort (для каждого столбца), я это сделал. Я мог бы реализовать настраиваемую сортировку, указав функцию обратного вызова Sorting, я сделал.
Похоже, ничего из этого не помогло. В отладчике моя функция _customerGrid_Sorting никогда не вызывается, и щелчок по заголовкам столбцов не имеет никакого эффекта.
Я что-то упустил в следующем XAML? Есть ли еще один интерфейс, который мне нужно реализовать? Сейчас я чувствую себя очень потерянным, поэтому приветствую любую помощь.
XAML:
<DataGrid Name="_customerGrid"
AutoGenerateColumns="False"
CanUserSortColumns="True"
ColumnHeaderStyle="{StaticResource columnHeaderStyle}"
HorizontalAlignment="Left"
ItemsSource="{Binding Path=AllCustomers}"
RowDetailsVisibilityMode="VisibleWhenSelected"
RowStyle="{StaticResource DataGridRowStyle}"
SelectionUnit="FullRow"
Sorting="_customerGrid_Sorting"
VerticalAlignment="Top">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Cust ID" MinWidth="90" CanUserSort="True" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Label Content="{Binding Path=CustID}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Name" MinWidth="300" CanUserSort="True" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Label Content="{Binding Path=Name}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>