Windows 汉堡包菜单,带有主/详细视图和UWP应用程序中的可绑定对象

Windows 汉堡包菜单,带有主/详细视图和UWP应用程序中的可绑定对象,windows,data-binding,observablecollection,uwp,Windows,Data Binding,Observablecollection,Uwp,我正在创建一个带有汉堡菜单和主/详细视图的Windows10UWP应用程序。我已经完成了这个部分 现在,我希望在主列表窗格中有一个可观察的集合,以便可以动态地向主列表添加新项。我如何做到这一点 我使用了channel9中Bob taylor使用的,并在拆分视图内容的框架内添加了来自Microsoft的示例,如下所示: <SplitView.Content><Frame x:Name="sumname"/></SplitView.Content> 在主页构

我正在创建一个带有汉堡菜单和主/详细视图的Windows10UWP应用程序。我已经完成了这个部分

现在,我希望在主列表窗格中有一个可观察的集合,以便可以动态地向主列表添加新项。我如何做到这一点

我使用了channel9中Bob taylor使用的,并在拆分视图内容的框架内添加了来自Microsoft的示例,如下所示:

<SplitView.Content><Frame x:Name="sumname"/></SplitView.Content>


在主页构造函数中,我将MasterDetailPage导航到此框架。

您可以将
ListView
放入
SplitView.Pane
中,并将
ListView
绑定到集合

ListView是一个ItemsControl,因此它可以包含任何类型的项集合。要填充视图,请将项目添加到项目集合,或将ItemsSource属性设置为数据源。有关详细信息,请参阅

一个常见的场景是绑定到业务对象的集合。在C#和Visual Basic中,泛型ObservableCollection类是数据绑定的良好集合选择。有关详细信息,请参阅

在XAML中:


在代码隐藏中:

public主页()
{
this.InitializeComponent();
ViewModel=新的MainPageViewModel();
}
公共MainPageViewModel视图模型{get;set;}
private void ListView\u SelectionChanged(对象发送者,SelectionChangedEventArgs e)
{
菜单菜单=((发送者作为列表视图)。选择编辑项作为菜单);
MyFrame.Navigate(menu.NavigateTo);
}
Menu.cs代码:

MainPageViewModel.cs代码:

public类MainPageViewModel
{
公共可观察收集菜单;
公共MainPageViewModel()
{
菜单=新的ObservableCollection()
{
新菜单(“第1页”,类型(第1页)),
新菜单(“第2页”,类型(第2页)),
新菜单(“第3页”,类型(第3页))
};
}
}

AppUIBasics示例应回答该问题;请参阅SplitViewPage.xaml。我最终选择了MVVM样式。。谢谢你的回答!
public class Menu 
{
public string Title { get; set; }

public Type NavigateTo { get; set; }

public Menu(string title,Type navigateTo)
{
    this.Title = title;
    this.NavigateTo = navigateTo;
}
public class MainPageViewModel
{
 public ObservableCollection<Menu> Menus;
 public MainPageViewModel()
 {
     Menus = new ObservableCollection<Menu>()
    {
          new Menu("Page1",typeof(Page1)),
          new Menu("Page2",typeof(Page2)),
          new Menu("Page3",typeof(Page3))
    };
 }
}