Использование кнопки для перехода на другую страницу в NavigationWindow

Я пытаюсь использовать инфраструктуру команд навигации в WPF для навигации между страницами в приложении WPF (рабочий стол; не XBAP или Silverlight).

Я считаю, что у меня все настроено правильно, но не работает. Я создаю и запускаю без ошибок, я не получаю никаких ошибок привязки в окне вывода, но моя кнопка навигации отключена.

Вот пример app.xaml для примера приложения:

<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>

Обратите внимание, что StartupUri указывает на First.xaml. First.xaml - это страница. WPF автоматически размещает мою страницу в NavigationWindow. Вот первый.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>

CommandTarget кнопки установлен в NavigationWindow. Команда - GoToPage, а страница - /Second.xaml. Я попытался установить CommandTarget для содержащей страницы, CommandParameter для «Second.xaml» (First.xaml и Second.xaml оба находятся в корне решения), и я попытался оставить CommandTarget пустым. Я также попытался установить Путь к Привязке к различным общедоступным свойствам, связанным с навигацией, в NavigationWindow. Пока ничего не получалось.

Что мне здесь не хватает? ядействительно не хочу делать мою навигацию в коде.

Разъяснение.

Если вместо кнопки я использую гиперссылку:

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

все работает как положено. Тем не менее, мои требования к пользовательскому интерфейсу означают, что использование гиперссылки прямо. Мне нужна большая жирная кнопка, чтобы люди нажимали. Вот почему я хочу использовать кнопку для навигации. Я просто хочу знать, как я могу заставить Баттон предоставлять те же возможности, что и Гиперссылка в этом случае.

Ответы на вопрос(4)

Ваш ответ на вопрос