为什么设置大宽度时边框会消失

本文关键字:边框 消失 设置 为什么 | 更新日期: 2023-09-27 17:54:51

我根据时间轴调整了边框大小。为什么当Width变得很大时,Border就消失了。例如,对于Width=100000, Border是可见的,但对于Width=200000, Border消失。

<StackPanel>
    <Border BorderThickness="0,0,0,1" BorderBrush="Black"  Height="100" Width="1000000">
    </Border>
</StackPanel>

为什么设置大宽度时边框会消失

事实证明,Border设置 BorderThickness 属性存在一些限制。不幸的是,我不能确切地说他们看起来如何,我试图用ILSpy找到他们(你可以尝试寻找他们)。

我可以说的一个限制:如果 125,000 上的一个坐标的值,Border的行消失。以下是我的一些例子:

Thickness    Width
---------  ---------
 0,0,0,1    125 001
 0,0,0,2    251 000
 0,0,0,3    375 001
 0,0,0,4    501 000

在所有这些情况下,这条线都没有画出来。

作为一种替代方法,您可以每次增加Thickness的值(不要变化),或者使用Line/Separator,对于它们,应该没有限制。需要根据具体情况修改Margin的值,或者为他设置Visibility

Separator:

示例
<Separator Name="HighSignal"
           Width="1000000"
           Background="Black" 
           Height="2"
           Visibility="Collapsed"
           Margin="0,100,0,0" />
<Separator Name="LowSignal"
           Width="1000000" 
           Background="Black"
           Height="2"
           Visibility="Visible"
           Margin="0,0,0,0" />

Note: 对于分隔符,您可以创建一个Style,因为他的基础类型是Control(对于Line - Shape)。