[英]UWP C# Switching frame content issues and crashes
我为这种设置苦苦挣扎了几天,找到了某种解决方案,但我认为它不应该如何工作。
这是我的xaml页面设置:
<Page
...
<SplitView IsPaneOpen="True" DisplayMode="Inline" OpenPaneLength="300">
<SplitView.Pane>
<Grid>
<ToggleButton x:Name="Edit" IsEnabled="False" Checked="Edit_Checked" Unchecked="Edit_Unchecked"/>
</Grid>
</SplitView.Pane>
<Frame x:Name="RightFrame">
</Frame>
</SplitView>
</Page>
切换按钮的代码:
private void Edit_Checked(object sender, RoutedEventArgs e)
{
RightFrame.Navigate(typeof(SubPage1));
}
private void Edit_Unchecked(object sender, RoutedEventArgs e)
{
RightFrame.Navigate(typeof(SubPage2));
}
因此,基本上,切换按钮可切换splitview内容。 子页面只是空白页面。 问题是导航发生时应用程序崩溃。 我在调用导航之前放了这个:
RightFrame.Content = null;
Thread.Sleep(1000);
然后一切正常。 所以我想清除框架内容并等待其完成。 但是我认为应该自动完成。 有人可以解释我在这里做错了什么以及应该怎么做吗?
请验证SubPage1
和SubPage2
中可能造成崩溃的代码,可以在卸载页面时清除资源。
另外,您可以尝试以下代码:
private void Edit_Checked(object sender, RoutedEventArgs e)
{
RightFrame.Content = new SubPage1();
}
private void Edit_Unchecked(object sender, RoutedEventArgs e)
{
RightFrame.Content = new SubPage2();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.