你好,我在页面之间切换时遇到问题,如果我在页面之间快速单击,然后挂断,然后响应,则每个页面都创建为单个实例,按钮共享一个单击事件,用于设置框架内容,内存使用情况稳定,使用率没有增加/减少,快速单击每个按钮时的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" />