我的的MainPage內拆分視圖,其窗格和定義的UWP SPLITVIEW通信使用事件
窗格框架內容包含具有PageListView的頁面。當點擊列表視圖中的項目時,我希望更新內容框架。
在listview頁面的聲明中,我有一個名爲ItemChangedEventHandler的委託事件處理程序。當點擊列表視圖項時,我調用EventHandler,然後通知訂閱該事件的所有對象。
我的問題是我沒有參考窗格頁面。有沒有辦法實例化一個頁面,然後將其傳遞給Navigate方法?如果我可以在導航到它之前實例化它,那麼我可以引用PageListView.ItemChanged,它不會爲null,因爲它在下面的代碼中,並且添加事件處理程序會很好。我不知道該怎麼做。任何建議都會很棒。
PageListView
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);
}
}
的MainPage
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);
}
爲什麼你需要在窗格中的頁面?您可以直接在窗格中放置一個ListView,然後直接訂閱它上面的ItemChanged事件。 – AVK