如何从一个Xaml文件导航到另一个?

时间:2010-05-14 12:22:57

标签: c# wpf

我是XAML和WPF的新手。我遇到了问题。

我有两个文件。 first.xaml和second.Xaml。 first.xaml中有一个按钮,点击它会导航到second.xaml。我是如何实现这一目的的。

2 个答案:

答案 0 :(得分:1)

这是组织代码的一种方式:

您的second.xaml应该包含您的窗口定义,例如:

<Window x:Class="MediaCheckerWPF.AboutBox"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="About Media Checker" Height="300" Width="400" ResizeMode="NoResize"
    Icon="/MediaCheckerWPF;component/Resources/checker.ico"
    ShowInTaskbar="False">
    <Grid>
        ...
    </Grid>
</Window>

您的first.xaml有按钮,例如:

<Button Height="23" HorizontalAlignment="Right" Name="aboutButton"
 VerticalAlignment="Top" Width="23" Click="AboutButton_Click"
 Content="{DynamicResource TInformationButton}"
 ToolTip="{DynamicResource TInformationButtonTooltip}" Margin="0,0,8,0"/>

然后在后面的代码中:

private void AboutButton_Click(object sender, RoutedEventArgs e)
{
    var about = new AboutBox { Owner = this };
    about.Initialise();
    about.Show();
}

答案 1 :(得分:0)

ChrisF的答案是在Windows风格的应用程序中弹出一个新窗口的好方法,除非你不应该这样调用Initialize(它应该从构造函数中调用)。

如果您想要Web风格的导航,则应使用Page类而不是Window,以及NavigationService。这也允许您的WPF应用程序在实际的Web浏览器中运行。