Windows 汉堡包菜单,带有主/详细视图和UWP应用程序中的可绑定对象
我正在创建一个带有汉堡菜单和主/详细视图的Windows10UWP应用程序。我已经完成了这个部分 现在,我希望在主列表窗格中有一个可观察的集合,以便可以动态地向主列表添加新项。我如何做到这一点 我使用了channel9中Bob taylor使用的,并在拆分视图内容的框架内添加了来自Microsoft的示例,如下所示: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> 在主页构
<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))
};
}
}