我在 MainPage 中有一个拆分视图,其窗格和内容定义为
窗格框架包含一个具有 PageListView 的页面。单击列表视图中的项目时,我希望更新内容框架。
在列表视图页面的声明中,我有一个名为 ItemChangedEventHandler 的委托事件处理程序。当单击列表视图项时,我调用 EventHandler,然后它会通知所有订阅该事件的对象。
我的问题是我没有对窗格页面的引用。有没有办法实例化一个页面,然后将其传递给 Navigate 方法?如果我可以在导航到它之前对其进行实例化,那么我可以引用 PageListView.ItemChanged ,它不会像下面的代码中那样为空,并添加事件处理程序就可以了。我不知道该怎么做。任何建议都会很棒。
页面列表视图
public delegate void ItemChangedEventHandler(object sender, Item item);
public sealed partial class PageListView : Page
{
private void PageListView_ItemClick(object sender, ItemClickEventArgs e)
{
Item item = (Item)e.ClickedItem;
ItemChanged(this, item);
}
}
主页
public MainPage()
{
this.InitializeComponent();
SplitViewPaneFrame.Navigate(typeof(PageListView));
PageListView.ItemChanged += new ItemChangedEventHandler(Item_Clicked);
}
private void Item_Clicked(Object sender, Item item)
{
SplitViewContentFrame.Navigate(typeof(DetailPage), item);
}