Pregunta

Tengo una página que se carga dentro de un elemento Frame a través de su propiedad Source. Necesito acceder a la propiedad Frames .BackStack desde el código subyacente de xaml de origen ... ¿Es eso posible?

así que aproximadamente el código es -

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

en ProjectsPage.xaml.cs quiero acceder a las propiedades en su marco principal.

¿Fue útil?

Solución

El historial de navegación es un área en la que WPF es muy deficiente. No, no creo que haya ninguna manera de llegar al BackStack of the Frame desde la página. Podría implementar un poco de pirateo, si no necesita hacer esto de forma genérica. Conecte los eventos de navegación del Marco y establezca una propiedad de dependencia adjunta al Marco en cualquier DependencyObject al que se haya navegado. Desafortunadamente, no hay mucho que puedas hacer con el BackStack, pero supongo que ya has determinado que es lo suficientemente bueno para lo que sea que estés haciendo.

Otros consejos

Si usa NavigationService.GetNavigationService y pase un elemento desde ProjectsPage, puede acceder a elementos como CanGoBack y GoBack en su El servicio de navegación de Frame que te permite lograr casi tanto como tener el BackStack en sí mismo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top