繁体   English   中英

UWP C#切换框架内容问题和崩溃

[英]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);

然后一切正常。 所以我想清除框架内容并等待其完成。 但是我认为应该自动完成。 有人可以解释我在这里做错了什么以及应该怎么做吗?

请验证SubPage1SubPage2中可能造成崩溃的代码,可以在卸载页面时清除资源。

另外,您可以尝试以下代码:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM