Caliburn.Micro添加动态菜单项

问题描述 投票:0回答:1

我正在使用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);
    }

当我执行时,我收到此消息:

enter image description here

如何创建动态MenuItemg,而不必执行View以及附属问题,如何使用包含menuitem的文本的参数引发命令(我正在尝试创建最新文件)

wpf dynamic menuitem caliburn.micro
1个回答
0
投票

您可以使用CompositeCollection

© www.soinside.com 2019 - 2024. All rights reserved.