Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF-边境及;TextBlock-奇怪的行为_C#_Wpf_Xaml_Border - Fatal编程技术网

C# WPF-边境及;TextBlock-奇怪的行为

C# WPF-边境及;TextBlock-奇怪的行为,c#,wpf,xaml,border,C#,Wpf,Xaml,Border,我有一个非常简单的XAML标记 <Grid Margin="20"> <Grid.RowDefinitions> <RowDefinition Height="50"/> <RowDefinition Height="50"/> </Grid.RowDefinitions> <StackPanel Orientation="Vertical" Grid.Row="0">

我有一个非常简单的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>

。。。代码隐藏文件中没有代码

但结果非常奇怪…,当应用程序运行时,第一个stackpanel中的边框变得蓬松,第二个stackpanel中的边框锐利漂亮

唯一的区别在于两个textblock,第一个textblock的fontsize为20,第二个textblock的fontsize为19

那么,是什么触发了第一个边界的蓬松…?

请尝试在网格中使用layouutrounding=“True”



如果您将第一个文本框上的FontSize设置为19?,则第一个边框将清晰可见。如果您使用的是18号边框,该怎么办?换一种字体怎么样?当使用介于字体的“预期”点大小之间的点大小时,我看到了奇怪的字体渲染。这是在标准分辨率显示器上吗?真奇怪,如果字体大小不规则,效果很好。我把fontsize改为21,问题就解决了。我没有做过任何特别的事情,比如改变字体或其他什么,所以是的,我认为这是字体和字体大小的组合。它在我的标准Microsoft Surface Pro 3上运行。我会换另一个尺码,笑一笑,然后合上这条线。非常感谢您的帮助:-)事实上,如果我在网格中设置
UseLayoutRounding=“True”
,这两个边界将被隐藏。另一方面,如果我在第一个文本块(字体大小为20的文本块)中设置
UseLayoutRounding=“True”
,则“蓬松效果”消失(VS 2013,.NET 4.0)
    <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>