Domanda

Ho una Pagina che viene caricata all'interno di un elemento Frame tramite la sua proprietà Source. Devo accedere alla proprietà Frames .BackStack dal codice xaml del codice sorgente dietro ... È possibile?

così approssimativamente il codice è -

<Frame x:Name="contentFrame" Source="ProjectsPage.xaml"/>

in ProjectsPage.xaml.cs desidero accedere alle proprietà sul frame principale.

È stato utile?

Soluzione

La cronologia di navigazione è un'area in cui WPF è gravemente carente. No, non credo che ci sia modo di accedere al BackStack del Frame dalla pagina. Potresti implementare un po 'di un hack, se non hai bisogno di farlo genericamente. Agganciare gli eventi di navigazione del Frame e impostare una proprietà di dipendenza collegata al Frame su qualsiasi DependencyObject a cui si è passati. Sfortunatamente, non c'è molto che puoi fare con il BackStack, ma suppongo che tu abbia già determinato che è abbastanza buono per qualsiasi cosa tu stia facendo.

Altri suggerimenti

Se si utilizza NavigationService.GetNavigationService e passa un elemento all'interno di ProjectsPage, puoi accedere ad elementi come CanGoBack e GoBack sul tuo NavigationService di Frame che ti consente di ottenere quasi quanto il BackStack stesso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top