C#WPF在页面之间缓慢切换

时间:2018-08-09 12:29:47

标签: c# wpf ui-thread

你好,我在页面之间切换时遇到问题,如果我在页面之间快速单击,然后挂断,然后响应,则每个页面都创建为单个实例,按钮共享一个单击事件,用于设置框架内容,内存使用情况稳定,使用率没有增加/减少,快速单击每个按钮时的cpu使用率不超过23%,但UI线程为100%,

每个页面没有任何加载/卸载事件,

每个页面都有KeepAlive =“ True”

渲染器正在使用第2层

页面在主窗口中的定义如下:

Opage OPAGE = new Opage();
CPage CPAGE = new CPage();

private void menu_button_Click(object sender, RoutedEventArgs e)
    {
        switch (((Control)sender).Name)
        {
            case "obutton":
            {
                obutton.Background = Brushes.Green;
                cbutton.Background = Brushes.White;
                menu_content_layout.Content = OPAGE;
                break;
            }
            case "cbutton":
            {
                os_button.Background = Brushes.White;
                cpu_button.Background = Brushes.Green;
                menu_content_layout.Content = CPAGE;
                break;
            }
       }
  }

如果我像普通人一样单击按钮,一切都很好,但是当在按钮之间快速单击时,它挂起了,有什么方法可以提高应用程序响应速度,还是应该将页面转换为Window,因为在一个主题中这样写窗口使用不同线程,还是应该使用其他东西代替框架? 另外,如果我单独进行按钮单击事件,会有所改善吗?

编辑:

<Frame x:Name="menu_content_layout" HorizontalAlignment="Center" Height="0" VerticalAlignment="Top" Width="1007" Margin="0,89,0,0" ClipToBounds="True" NavigationUIVisibility="Hidden" />

0 个答案:

没有答案