水平或垂直WPF线限制为125,000像素吗?查看下面的代码,绿线正确显示,但红线尽管仅延长了0.01点,却根本不显示。知道为什么吗?
<Window x:Class="DCView.Window11"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window11" Height="300" Width="300">
<ScrollViewer>
<Grid Width="150000">
<Line X1="0" X2="125000.00" Y1="10" Y2="10" StrokeThickness="1" Stroke="Green"></Line>
<Line X1="0" X2="125000.01" Y1="20" Y2="20" StrokeThickness="1" Stroke="Red"></Line>
</Grid>
</ScrollViewer>
</Window>
Run Code Online (Sandbox Code Playgroud)
安德鲁
这似乎是 WPF 处理矢量图形的一个限制。
为了使它更复杂,请尝试更改StrokeThickness- 如果您将StrokeThickness红线的设置1为2,它会再次显示...直到您将长度增加到 250000 以上...然后它再次消失。
<Grid>
<Line X1="0" X2="125000.00" Y1="10" Y2="10" StrokeThickness="1" Stroke="Green"></Line>
<Line X1="0" X2="250000.00" Y1="20" Y2="20" StrokeThickness="2" Stroke="Red"></Line>
<Line X1="0" X2="250000.01" Y1="30" Y2="30" StrokeThickness="2" Stroke="Blue"></Line>
</Grid>
Run Code Online (Sandbox Code Playgroud)
随着您增加笔划厚度,最大长度会增加。
另请注意,如果线条不是完全水平或垂直,则长度限制似乎消失了:
<Grid>
<Line X1="0" X2="125000.00" Y1="10" Y2="10" StrokeThickness="1" Stroke="Green" />
<Line X1="0" X2="125000.01" Y1="20" Y2="20.0001" StrokeThickness="1" Stroke="Red" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
你可以找到连接上写的错误:消失的路径(WPF)