汉堡包菜单按钮的动态列表

时间:2016-03-07 14:24:37

标签: c# winrt-xaml win-universal-app template10

我想从一个动态的项目列表中创建一个HamburgerMenu,最好我想将ListBox之类的东西与模板绑定到我的视图模型上的列表中,并拥有菜单项目动态显示。 (见:http://bit.ly/1Lac78E)。

尝试向除PrimaryButtons以外的SecondaryButtons(或可能是HamburgerButtonInfo)集合添加任何内容都会导致错误。大概是因为这些集合被声明为:

PrimaryButtons = new ObservableItemCollection<HamburgerButtonInfo>(); 
SecondaryButtons = new ObservableItemCollection<HamburgerButtonInfo>(); 

因此可以使用Template10汉堡包菜单执行此操作,而不使用此问题中的代码隐藏:UWP Template 10 create a dynamic hamburgermenu

更新

为了澄清,我正在尝试创建一个类似于邮件和日历应用程序的导航菜单(使用汉堡菜单模板),其中有文件夹中的文件夹和项目的动态列表。

enter image description here

1 个答案:

答案 0 :(得分:1)

首先,我不确定这首先是非常聪明的。

但是你可以这样做。

public class MainPage:Page
{
    private void MainPage_Loaded(object sender, RoutedEventArgs e)
    {
        ViewModel.PrimaryButtons = Views.Shell.HamburgerMenu.PrimaryButtons;
        ViewModel.SecondaryButtons = Views.Shell.HamburgerMenu.SecondaryButtons;
    }
}

public class MainPageViewModel
{
    Windows.Foundation.Collections.IObservableVector<ICommandBarElement> PrimaryButtons { get; set; }
    Windows.Foundation.Collections.IObservableVector<ICommandBarElement> SecondaryButtons { get; set; }
}

祝你好运, 杰里