C# WPF窗口在调整大小时闪烁
我有一个非常简单的窗口,由以下XAML定义(视图模型中目前没有逻辑):C# WPF窗口在调整大小时闪烁,c#,wpf,C#,Wpf,我有一个非常简单的窗口,由以下XAML定义(视图模型中目前没有逻辑): 当用户调整窗口大小时,窗口的新区域将闪烁黑色。 有没有办法防止这种闪烁 我不认为这个现存的问题是重复的。它包含完全自定义的窗口,带有动画 这是由窗口中增加的调试时间造成的。尝试在没有附加调试程序的情况下运行它。我也遇到了同样的问题,但我通过使用升级版的Microsoft.Windows.Shell的nuget软件包edge.windowchrome解决了这个问题 它帮助我消除了闪烁 注意:它只适用于最新版本的Wind
当用户调整窗口大小时,窗口的新区域将闪烁黑色。
有没有办法防止这种闪烁
我不认为这个现存的问题是重复的。它包含完全自定义的窗口,带有动画
这是由窗口中增加的调试时间造成的。尝试在没有附加调试程序的情况下运行它。我也遇到了同样的问题,但我通过使用升级版的Microsoft.Windows.Shell的nuget软件包edge.windowchrome解决了这个问题 它帮助我消除了闪烁 注意:它只适用于最新版本的Windows 10(redstone)使用它可能会解决您的问题 请参见以下示例屏幕截图:
您可以从此处删除完整的标题栏。在
main窗口中指定属性showttitlebar=“false”
我知道这很旧,但正如公认的答案所示,这是因为调试工具。如果您不使用或不依赖XAML的UI调试工具,您会发现禁用XAML的UI调试工具会显著提高性能:
工具>选项>调试>常规>启用XAML的UI调试工具
当然,在调试器之外运行应用程序应该会显示应用程序的实际性能。使用任何IDE作为调试器运行您的程序无疑会大大降低其速度,这只是调试器与您的程序交互、监视它所做的一切以及侦听异常等方式的结果
<Window x:Class="WpfViewer.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfViewer"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="MainWindow"
Width="525"
Height="350"
d:DataContext="{d:DesignInstance local:MainWindowVm}"
mc:Ignorable="d">
<Grid Margin="8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="8" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0"
Grid.Column="0"
Grid.ColumnSpan="3"
Orientation="Horizontal" Margin="0,0,0,8">
<TextBlock Text="Object" />
<!-- breadcrumbs -->
</StackPanel>
<Border Grid.Row="1"
Grid.Column="0"
BorderBrush="Black"
BorderThickness="1" />
<GridSplitter Grid.Row="1"
Grid.Column="1"
Width="8"
Background="{DynamicResource {x:Static SystemColors.WindowBrush}}"
ResizeBehavior="PreviousAndNext" />
<Border Grid.Row="1"
Grid.Column="2"
BorderBrush="Black"
BorderThickness="1" />
</Grid>
</Window>