我有一个无边框的透明(圆角)WPF窗口。这是一个相当复杂的应用程序,可以显示或隐藏很多对话框。我们通过使用Visibility
绑定到BooleanToVisibilityConverter
属性的MVVM来实现此目的,据我所知,这会将可见性设置为Visible
或Collapsed
。
当我调整窗口大小时,我在窗口的绘制中会出现明显的滞后,这往往会留下内容(边框,框架元素)(因为它们不会非常快地跟随调整大小)。所以要澄清我有主窗口和内部的内容(内容在边框内)。主窗口将跟随鼠标正确调整大小,但内容将非常缓慢地跟随并且将会加速。
我无法弄清楚它是什么,任何人都可以提供任何帮助吗?显然我假设在窗口调整大小时没有调整(或重新定位)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
设置的内容来显示自身或关闭自身。