WPF:谁来运行一下这个代码,发现了一个奇怪现象。

时间:2023-02-06 15:21:04
为什么Border和Label,这两个控件,没有对齐?而是位置错开了一个像素?

为什么 Border的大小是21*20?本来应该是20*20。



<Window x:Class="Test.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition></RowDefinition>
        </Grid.RowDefinitions>
        
        <Border Grid.Row="1" Width="20" Height="20" Background="Green" BorderBrush="Transparent"></Border>
        <Label  Grid.Row="2"  Width="20" Height="20" Background="Green"></Label>
    </Grid>
    
</Window>

11 个解决方案

#1


发现了,不过不会解释,之前也遇到过类似的现象,不过都没有在意,或是其他办法绕开了

#2


怎么绕开呢?

我现在的问题是:要在Image控件上,原始地显示一幅图像(意思是:原图象是多少像素,在屏幕上就显示多少像素)。

但现在的问题是,Image控件总是多出一两个像素。

这个怎么饶开?


引用 1 楼 nonocast 的回复:
发现了,不过不会解释,之前也遇到过类似的现象,不过都没有在意,或是其他办法绕开了

#3


你的图片是96dpi的吗?

#4


发现了这种情况

#5


是的。

引用 3 楼 nonocast 的回复:
你的图片是96dpi的吗?

#6


如何解决是好?

引用 4 楼 chinajiyong 的回复:
发现了这种情况

#7


引用 6 楼 njypgzz 的回复:
如何解决是好?

引用 4 楼 chinajiyong 的回复:

发现了这种情况

也只有看看MSDN了

http://msdn.microsoft.com/zh-cn/library/aa970908.aspx

#8


厉害,你是怎么找到那页面的?

引用 7 楼 chinajiyong 的回复:
引用 6 楼 njypgzz 的回复:

如何解决是好?

引用 4 楼 chinajiyong 的回复:

发现了这种情况

也只有看看MSDN了

http://msdn.microsoft.com/zh-cn/library/aa970908.aspx

#9


引用 8 楼 njypgzz 的回复:
厉害,你是怎么找到那页面的?

引用 7 楼 chinajiyong 的回复:

引用 6 楼 njypgzz 的回复:

如何解决是好?

引用 4 楼 chinajiyong 的回复:

发现了这种情况

也只有看看MSDN了

http://msdn.microsoft.com/zh-cn/library/aa970908.aspx

一般都到MSDN逛,像素对齐

#10


这个连接,正好解决了问题。已经试验。

引用 9 楼 chinajiyong 的回复:
引用 8 楼 njypgzz 的回复:

厉害,你是怎么找到那页面的?

引用 7 楼 chinajiyong 的回复:

引用 6 楼 njypgzz 的回复:

如何解决是好?

引用 4 楼 chinajiyong 的回复:

发现了这种情况

也只有看看MSDN了

http://msdn.microsoft.com/zh-cn/library/aa970……

#11


厉害,已验证

#1


发现了,不过不会解释,之前也遇到过类似的现象,不过都没有在意,或是其他办法绕开了

#2


怎么绕开呢?

我现在的问题是:要在Image控件上,原始地显示一幅图像(意思是:原图象是多少像素,在屏幕上就显示多少像素)。

但现在的问题是,Image控件总是多出一两个像素。

这个怎么饶开?


引用 1 楼 nonocast 的回复:
发现了,不过不会解释,之前也遇到过类似的现象,不过都没有在意,或是其他办法绕开了

#3


你的图片是96dpi的吗?

#4


发现了这种情况

#5


是的。

引用 3 楼 nonocast 的回复:
你的图片是96dpi的吗?

#6


如何解决是好?

引用 4 楼 chinajiyong 的回复:
发现了这种情况

#7


引用 6 楼 njypgzz 的回复:
如何解决是好?

引用 4 楼 chinajiyong 的回复:

发现了这种情况

也只有看看MSDN了

http://msdn.microsoft.com/zh-cn/library/aa970908.aspx

#8


厉害,你是怎么找到那页面的?

引用 7 楼 chinajiyong 的回复:
引用 6 楼 njypgzz 的回复:

如何解决是好?

引用 4 楼 chinajiyong 的回复:

发现了这种情况

也只有看看MSDN了

http://msdn.microsoft.com/zh-cn/library/aa970908.aspx

#9


引用 8 楼 njypgzz 的回复:
厉害,你是怎么找到那页面的?

引用 7 楼 chinajiyong 的回复:

引用 6 楼 njypgzz 的回复:

如何解决是好?

引用 4 楼 chinajiyong 的回复:

发现了这种情况

也只有看看MSDN了

http://msdn.microsoft.com/zh-cn/library/aa970908.aspx

一般都到MSDN逛,像素对齐

#10


这个连接,正好解决了问题。已经试验。

引用 9 楼 chinajiyong 的回复:
引用 8 楼 njypgzz 的回复:

厉害,你是怎么找到那页面的?

引用 7 楼 chinajiyong 的回复:

引用 6 楼 njypgzz 的回复:

如何解决是好?

引用 4 楼 chinajiyong 的回复:

发现了这种情况

也只有看看MSDN了

http://msdn.microsoft.com/zh-cn/library/aa970……

#11


厉害,已验证