我正在尝试在WPF应用程序中导航到与MainWindow不同的页面。 MainWindow只有一些欢迎文本,我希望它在4秒后移动到另一个页面。计时器工作正常,但我收到一个错误,
“错误1'UbiTutorial.MainWindow'不包含'Frame'的定义,并且没有扩展方法'Frame'可以找到接受类型'UbiTutorial.MainWindow'的第一个参数(你是否缺少using指令或者汇编参考?)c:\ users \ thomas \ documents \ visual studio 2012 \ Projects \ UbiTutorial \ UbiTutorial \ MainWindow.xaml.cs 54 22 UbiTutorial“
在我的方法中
if (introTime > 4)
{
this.Frame.Navigate(typeof(Touch));
}
Visual Studio正在抱怨它的Frame部分。
答案 0 :(得分:0)
Frame
是一个控件类型而不是控件实例,没有看到你的Xaml我不知道你添加的Frame的名称是什么,它可能默认为frame1
这就是你将需要用于访问导航方法。希望这会给你一个想法。
<强> MainWindow.xaml 强>
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Frame Height="100" HorizontalAlignment="Left" Margin="10,10,0,0" Name="frame1" VerticalAlignment="Top" Width="200" />
</Grid>
</Window>
<强> MainWindow.xaml.cs 强>
using System.Windows.Threading;
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
DispatcherTimer introTime = new DispatcherTimer();
public MainWindow()
{
InitializeComponent();
introTime.Interval = TimeSpan.FromSeconds(4);
introTime.Tick += new EventHandler(introTime_Tick);
introTime.Start();
}
void introTime_Tick(object sender, EventArgs e)
{
//this.frame1.Navigate(new Uri(@"http://www.google.com"));
this.frame1.Navigate(new UserControl1());
}
}
}
<强> UserControl1.xaml 强>
<UserControl x:Class="WpfApplication1.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300" Background="Red" >
<Grid>
</Grid>
</UserControl>