代码之家  ›  专栏  ›  技术社区  ›  Unplug

MenuItem以编程方式排序

  •  0
  • Unplug  · 技术社区  · 12 年前

    我正在将多个菜单项添加到MenuItem控件中。MenuItem控件是在xaml中创建的,但它是空的。我使用

    MenuItem subMenuItem = new MenuItem();
    subMenuItem.Header = "sub item 1";
    MenuItemGroupA.Items.Insert( 0, subMenuItem);
    

    向其中添加子菜单项。这很好用。然而,我想控制我添加到MenuItem的子菜单项的顺序,而不是通过它们的名称,也不是通过它们被添加的顺序。我试着把第一个论点改成其他一些数字。在我看来,如果我使用任何大于0的内容,则不会添加子项。

    有什么建议吗?

    [编辑以添加更多详细信息]

    该代码位于函数中,并被调用多次,具体取决于文件夹中特定DLL的数量。例如,如果我正在该文件夹中查找3个DLL,我会查询它们的名称,然后得到Apple、Banana、Cherry。但我希望菜单显示为:樱桃、苹果和香蕉。我试着创建一个字典,比如{“苹果”,1},{“香蕉”,2},{“樱桃”,3},但我甚至不知道这是否有用。

    1 回复  |  直到 12 年前
        1
  •  1
  •   G.So    12 年前

    您可以尝试使用 CollectionViewSource.SortDescriptions 所有物

    您可以使项目按任何属性排序,例如所述的Tag属性 here