WPF慢窗口调整大小与无边框窗口

时间:2013-12-09 11:49:24

标签: c# .net wpf optimization mvvm

我有一个无边框的透明(圆角)WPF窗口。这是一个相当复杂的应用程序,可以显示或隐藏很多对话框。我们通过使用Visibility绑定到BooleanToVisibilityConverter属性的MVVM来实现此目的,据我所知,这会将可见性设置为VisibleCollapsed

当我调整窗口大小时,我在窗口的绘制中会出现明显的滞后,这往往会留下内容(边框,框架元素)(因为它们不会非常快地跟随调整大小)。所以要澄清我有主窗口和内部的内容(内容在边框内)。主窗口将跟随鼠标正确调整大小,但内容将非常缓慢地跟随并且将会加速。

我无法弄清楚它是什么,任何人都可以提供任何帮助吗?显然我假设在窗口调整大小时没有调整(或重新定位)Collapsed对话框。

以下是我们如何在主窗口中设置对话框的一个小例子

<Grid x:Name="GlobalModalBackground" Visibility="{Binding ShowGlobalModalBackground, Converter={StaticResource BoolToVisibilityConverter}, FallbackValue=hidden}" Grid.ColumnSpan="2">
    <Border CornerRadius="3" Background="#66000000" Opacity="{Binding ModalOpacity}" />
    <Grid>
        <local:About x:Name="AboutDialog" DataContext="{Binding AboutViewModel}" HorizontalAlignment="Center" VerticalAlignment="Center" Height="300" Width="500"/>
        <!-- Other dialogs here -->

在这种情况下,AboutDialog本身将根据其ViewModel设置的内容来显示自身或关闭自身。

0 个答案:

没有答案