【问题标题】:UWP C# Switching frame content issues and crashesUWP C# 切换框架内容问题和崩溃
【发布时间】:2018-11-02 09:42:23
【问题描述】:

我在这个设置上苦苦挣扎了几天,找到了一个解决方案,但我认为它不是应该的工作方式。

这是我的 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));
}

所以基本上切换按钮会切换拆分视图的内容。 SubPages 只是空白页。问题是发生导航时应用程序崩溃。 在调用导航之前我已经注意到了:

RightFrame.Content = null;
Thread.Sleep(1000);

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

【问题讨论】:

    标签: c# xaml uwp


    【解决方案1】:

    请验证您在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();
    }
    

    【讨论】:

      猜你喜欢
      • 2016-12-20
      • 2017-03-12
      • 1970-01-01
      • 2011-06-02
      • 2011-09-15
      • 1970-01-01
      • 2013-08-02
      • 2014-12-30
      • 1970-01-01
      相关资源
      最近更新 更多