У меня есть разделенное представление внутри MainPage с его панелью и содержимым, определенным как '
Панель Frame содержит страницу с PageListView. Когда нажимаются элементы в представлении списка, я хочу обновить рамку содержимого.
В объявлении страницы списка у меня есть обработчик события делегата, называемый ItemChangedEventHandler. Когда элемент списка щелкнут, я вызываю EventHandler, который затем уведомляет все объекты, подписанные на событие.
Моя проблема в том, что у меня нет ссылки на панель Page. Есть ли способ создать экземпляр страницы, а затем передать ее методу Navigate? Если бы я мог создать его экземпляр перед переходом к нему, я мог бы сослаться на PageListView.ItemChanged, который не был бы нулевым, как в приведенном ниже коде, и добавить обработчик событий было бы хорошо. Я не знаю, как это сделать. Любые предложения были бы замечательными.
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);
}
}
Главная страница
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
. - person AVK   schedule 25.04.2017