我正在使用Caliburn.Micro我尝试在现有菜单中创建动态ItemMenu。在视图“ MainView.xaml”中,放入
<Menu Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="4" Margin="0">
<MenuItem Header="_File">
<MenuItem Header="_Open" Name="FileOpen"/>
<ContentControl x:Name="MenuItems" />
<Separator/>
<ItemsControl ItemsSource="{Binding RFL}"/>
<!--<common:RecentFileList x:Name="RecentFileList">
</common:RecentFileList>-->
</MenuItem>
在ViewModel“ MainViewModel”中,我有这个
public BindableCollection<MenuItem> MenuItems
{
get { return menuItems; }
set { menuItems = value; }
}
public void MenuItem_New()
{
}
public MainViewModel()
{
recentFileList.MenuClick += (s, e) => SendPathToUserControls(e.Filepath);
MenuItems = new BindableCollection<MenuItem>();
this._menu = new MenuViewModel();
MenuItem menuItem = new MenuItem( );
menuItem.Header = "Sous Menu 1";
menuItem.Name = "SousMenu1";
MenuItems.Add(menuItem);
}
当我执行时,我收到此消息:
如何创建动态MenuItemg,而不必执行View以及附属问题,如何使用包含menuitem的文本的参数引发命令(我正在尝试创建最新文件)
您可以使用CompositeCollection