7

element(StrokeThickness="1" SnapsToDevicePixels="True") 我在网格中使用路径。我想调整窗口大小,Grid 元素由 Viewbox 元素包裹。

问题

当我调整窗口大小时,路径会消失一段时间。如果我将 SnapsToDevicePixels 设置为 false,Path 元素可能会模糊,这不是我想要的。

如何避免单个像素线消失?

XAML 代码:

<Window x:Class="WpfApplication2.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="207" Width="475">
   <Viewbox Stretch="Fill">
       <Grid Height="320" Width="517">
          <Path Data="M0,0 H1 z" StrokeThickness="1" Stroke="Black" Margin="72,73,79,218" Stretch="Fill" SnapsToDevicePixels="True" MinHeight="1"/>
       </Grid>
   </Viewbox>

可惜我没有发布运行时效果的声誉。

4

1 回答 1

0

我已经用放置在 Viewbox 中的分隔符试验了同样的问题。其中一些会因某些分辨率而消失。为了解决这个问题,我用 1 像素高度的边框替换它们:

< Border Background="DarkGray" Grid.Row="0" Grid.ColumnSpan="7" Height="1" />

这样可以避免一个像素的单行在 viewBox 中消失。希望它对你也有用。

于 2020-04-30T13:18:11.410 回答