使用WPF在C#中创建动态菜单

时间:2012-11-10 16:36:16

标签: c# wpf mvvm

我想知道是否可以这样做 -

我有一个名为" Portfolios"的menuItem,并且在其中有两个子MenuItems" Load Portfolios"和"查看投资组合"。当您单击“加载投资组合”时,它将提示打开包含投资组合名称的文件,然后我希望“视图投资组合”将这些名称添加为子MenuItems,类似这样 - >

Portfolios:
   Load Portfolios
       View Portfolios:
           Portfolio1
           Portfolio2
           Portfolio3

老实说,我不知道如何解决这个问题,而且我没有遇到任何可能有用的教程,所以我们非常感谢任何帮助! :)

2 个答案:

答案 0 :(得分:2)

你的问题有点宽泛,所以我将总结你需要做什么:

  • 遵循MVVM模式
  • 在“主要”ViewModel中,创建一个名为SubMenuItems的ObservableCollection<Portfolio>
  • 在您的视图(XAML)中,从此开始并构建它:

    <Menu>
        <MenuItem Header="Main Menu" ItemsSource="{Binding SubMenuItems}" />
    </Menu>
    

答案 1 :(得分:-1)

这很简单:

// Create MenuItem
MenuItem mnuFile = new MenuItem();
mnuFile.Name = "mnuFile"; // The x:Name
mnuFile.Header = "_File";

// Add to mnuMain's Items
mnuMain.Items.Add(mnuFile);