À l'aide d'un Bouton pour naviguer vers une autre Page dans un NavigationWindow

Je suis en train d'utiliser la navigation de commande dans le cadre de WPF pour naviguer entre les Pages à l'intérieur d'une application WPF (de bureau; pas XBAP ou Silverlight).

Je crois que j'ai tout configuré correctement, mais sa ne fonctionne pas. - Je créer et exécuter sans erreurs, je ne suis pas toute erreur de liaison dans la fenêtre de Sortie, mais mon bouton de navigation est désactivée.

Voici l'application.xaml pour un exemple d'application:

<Application x:Class="Navigation.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    StartupUri="First.xaml">
</Application>

Note le StartupUri points à la Première.xaml. D'abord.xaml est une Page. WPF automatiquement les hôtes de ma page dans un NavigationWindow. Voici la Première.xaml:

<Page x:Class="Navigation.First"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="First">
    <Grid>
        <Button 
            CommandParameter="/Second.xaml" 
            CommandTarget="{Binding RelativeSource=
                {RelativeSource 
                    FindAncestor, 
                    AncestorType={x:Type NavigationWindow}}}" 
            Command="NavigationCommands.GoToPage" 
            Content="Go!"/>
    </Grid>
</Page>

Le bouton de CommandTarget est définie à l'NavigationWindow. La commande est GoToPage, et la page est /Seconde.xaml. J'ai essayé de réglage de la CommandTarget à la Page qui les contient, les CommandParameter à "Second.xaml" (en Premier.xaml et le Deuxième.xaml sont à la fois dans la racine de la solution), et j'ai essayé de quitter la CommandTarget vide. J'ai aussi essayé de définir le Chemin d'accès à la Liaison de différents navigation liées à des propriétés publiques sur la NavigationWindow. Rien n'a fonctionné jusqu'à présent.

Ce qui me manque ici? Je vraiment ne veux pas faire ma navigation dans le code.


Clarification.

Si, au lieu d'utiliser un bouton, j'ai utiliser un lien Hypertexte:

<Grid>
    <TextBlock>
       <Hyperlink 
           NavigateUri="Second.xaml">Go!
       </Hyperlink>
    </TextBlock>
</Grid>

tout fonctionne comme prévu. Cependant, mon UI exigences de moyens que l'utilisation d'un lien Hypertexte est à droite. J'ai besoin d'un gros bouton gras pour les gens à la presse. C'est pourquoi je veux utiliser le bouton pour naviguer. Je veux juste savoir comment je peux obtenir le Bouton d'offrir la même capacité que le lien Hypertexte n'est dans ce cas.

InformationsquelleAutor | 2009-04-29