私はMVVMにかなり慣れていません。最近、コードビハインドをクリーンアップするプロジェクトを開始し、少しずつすべてをModelとViewModelに移動しています。
私の問題は、今、コードの背後にないコレクションビューを使用してグループ化をどのように使用するかです。Stackoverflowで同様の質問への回答を読んだ後、私はそれを理解したと思いましたが、それでも機能させることができません。おそらくばかげた間違いですが、誰かが私のコードを見て、彼らの考えを教えてくれたらとてもありがたいです。すべてのフィードバックは素晴らしいフィードバックです、私は本当に良いプログラマーになりたいです:)
このリストは、MenuクラスのObservableCollectionタイプです。
<CollectionViewSource x:Key="foods" Source="{Binding Items}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Category"/>
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
<ListBox x:Name="selectedMenuItem" Foreground="White" Grid.Column="0" Grid.Row="1" ItemsSource="{Binding Source={StaticResource foods}}"
DisplayMemberPath="Name" Background="{x:Null}" BorderThickness="0">
<ListBox.GroupStyle>
<x:Static Member="GroupStyle.Default"/>
</ListBox.GroupStyle>
</ListBox>
private CollectionViewSource _items;
private Menu _menu = new Menu();
public ICollectionView Items
{
get
{
if (_items == null)
{
_items = new CollectionViewSource {Source = new ObservableCollection<MenuItem>(_menu.MyMenu)};
}
return _items.View;
}
}