我有这个非常简单的XAML标记
<Grid Margin="20">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Vertical" Grid.Row="0">
<TextBlock Text="Hello World" FontSize="20"/>
<Border BorderBrush="Black" BorderThickness="0.25"/>
</StackPanel>
<StackPanel Orientation="Vertical" Grid.Row="1">
<TextBlock Text="Hello World" FontSize="19" />
<Border BorderBrush="Black" BorderThickness="0.25"/>
</StackPanel>
</Grid>
...代码隐藏文件中没有代码。
但结果很奇怪......当应用程序运行时,第一个堆栈面板中的边框变得蓬松,第二个堆叠面板中的边框非常清晰。
唯一的区别在于两个文本块,第一个文本块的fontsize为20,第二个textblock的fontsize为19。
那么是什么触发了第一个边界的蓬松......?
答案 0 :(得分:1)
在网格中尝试使用UseLayoutRounding =“True”。
<Grid Margin="20" UseLayoutRounding="True">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Vertical" Grid.Row="0">
<TextBlock Text="Hello World" FontSize="20"/>
<Border BorderBrush="Black" BorderThickness="0.25"/>
</StackPanel>
<StackPanel Orientation="Vertical" Grid.Row="1">
<TextBlock Text="Hello World" FontSize="19" />
<Border BorderBrush="Black" BorderThickness="0.25"/>
</StackPanel>
</Grid>