c# WPF Menuitem отображается только 1 элемент
Есть приложение с WPF MVVM. На view есть Меню, в одном из разделов пытаюсь организовать меню привязанное к коллекции:
public ObservableCollection<FavoriteItem> Favorites
{
get { return AppRunningSettings.Favorites; }
}
public class FavoriteItem
{
private string _alias;
private string _path;
public string Alias
{
get { return _alias; }
set
{
if (value == _alias) return;
_alias = value;
}
}
public string FavPath
{
get { return _path; }
set
{
if (value == _path) return;
_path = value;
}
}
На view сделано так:
<Window.Resources>
<CollectionViewSource Source="{Binding Favorites}" x:Key="FavoritesCollection"/>
</Window.Resources>
<MenuItem Header="Favorite Folders">
<MenuItem Header="Add Current Folder to Favotite" Command="{Binding AddCurrentDirToFavoriteCommand}" />
<MenuItem Header="Edit Favorite List" Command="{Binding EditFavoriteCommand}"/>
<Separator/>
<CompositeCollection>
<CollectionContainer Collection="{Binding Source={StaticResource FavoritesCollection}}"/>
</CompositeCollection>
<MenuItem.ItemContainerStyle>
<Style>
<Setter Property="MenuItem.Header" Value="{Binding Alias}"/>
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
В итоге в меню получаю только один объект из коллекции:
Хотя в коллекции их несколько:
и получаю ещё 2 ошибки:
System.Windows.Data Error: 40 : BindingExpression path error: 'Alias' property not found on 'object' ''MainWindowViewModel' (HashCode=40311937)'. BindingExpression:Path=Alias; DataItem='MainWindowViewModel' (HashCode=40311937); target element is 'MenuItem' (Name=''); target property is 'Header' (type 'Object')
Хотя в коллекции 3 элемента. Ругается на отсутствующее свойство Alias в DataContext, хотя его там и не должно быть и при этом отрисовывает 1 элемент.

