我是XAML和WPF的新手。我遇到了问题。
我有两个文件。 first.xaml和second.Xaml。 first.xaml中有一个按钮,点击它会导航到second.xaml。我是如何实现这一目的的。
答案 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浏览器中运行。