我的主页有2帧。我可以从主页导航两个帧。我想在firstFrame中从页面导航我的secondFrame。代码运行正常,但框架无法导航。感谢。
MainPage.xaml中
<SplitView.Content>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="300" />
</Grid.ColumnDefinitions>
<Frame x:Name="firstFrame" HorizontalAlignment="Stretch" Grid.Row="0" Grid.Column="0" />
<Frame x:Name="secondFrame" Grid.Row="0" Grid.Column="1" BorderBrush="LightBlue" BorderThickness="1,0,0,0" />
</Grid>
</SplitView.Content>
MainPage.xaml.cs中
public void setSecondFrame()
{
secondFrame.Navigate(typeof(Input));
}
Calendar.xaml.cs
private void selectedDate_Click(object sender, RoutedEventArgs e)
{
MainPage mp = new MainPage();
mp.setSecondFrame();
}
如果我在MainPage中调用它,它可以正常工作,但是当我从日历页面调用它时,它没有。
由于
答案 0 :(得分:0)
问题是您致电new MainPage()
。这将创建一个全新的页面,而不是使用现有的MainPage实例并使用您的单击处理程序来驱动它。
您可以选择不同的选项,您必须决定什么对您有用。
为简单起见,也许#1最简单。
在您的课程中,创建public static MainPage Instance {get; private set;}
在MainPage()中,指定Instance = this;
从您要使用MainPage的任何其他页面执行以下操作:
App.MainPage.Instance.setSecondFrame()
您可能需要根据您的确切项目设置/名称调整上述内容。