WPF - Accès à la propriété BackStack de Frame à partir de l'intérieur du cadre

StackOverflow https://stackoverflow.com/questions/615742

  •  03-07-2019
  •  | 
  •  

Question

J'ai une page qui est chargée dans un élément Frame via sa propriété Source. Je dois accéder à la propriété Frames .BackStack depuis le code-behind de xaml source ... Est-ce possible?

si approximativement le code est -

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

dans le ProjectsPage.xaml.cs, je souhaite accéder aux propriétés de son cadre parent.

Était-ce utile?

La solution

L’historique de la navigation est un domaine dans lequel WPF présente de graves lacunes. Non, je ne crois pas qu'il soit possible de trouver la pile de données à partir de la page. Vous pouvez mettre en œuvre un peu de piratage, si vous n'avez pas besoin de le faire de manière générique. Décrochez les événements de navigation du cadre et définissez une propriété de dépendance attachée sur le cadre pour tout objet DependencyObject dans lequel vous naviguez. Malheureusement, vous ne pouvez pas faire grand chose avec le BackStack, mais je suppose que vous avez déjà déterminé qu'il est suffisant pour tout ce que vous faites.

Autres conseils

Si vous utilisez NavigationService.GetNavigationService et transmettez un élément à partir de ProjectsPage, vous pouvez accéder à des éléments tels que CanGoBack et GoBack sur votre NavigationService de Frame qui vous permet de réaliser presque autant que le BackStack lui-même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top