【问题标题】:Horizontal or vertical WPF Lines limited to 125,000 pixels?水平或垂直 WPF 行限制为 125,000 像素?
【发布时间】:2012-12-06 05:43:01
【问题描述】:

水平或垂直 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>

安德鲁

【问题讨论】:

    标签: wpf


    【解决方案1】:

    这似乎是 WPF 处理矢量图形的一个限制。

    为了使它更复杂,请尝试更改StrokeThickness - 如果您将红线的StrokeThickness1 设置为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>  
    

    随着笔画粗细的增加,最大长度也会增加。

    另请注意,如果线条不是完全水平或垂直,则长度限制似乎消失了:

    <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>
    

    您可以在 connect 上找到写的错误:Disappearing Path (WPF)

    【讨论】:

    • Philip,为了解决这个 WPF 错误,我把这条线稍微偏离了水平线。奇怪的是它似乎没有在任何地方记录(除了连接上的错误)。
    【解决方案2】:

    它肯定画了超过 150,000 像素,在这种情况下看不到这条线有点奇怪,因为例如如果你这样做

    <Line X1="0" X2="125000.01" Y1="20" Y2="20" StrokeThickness="2" Stroke="Red"></Line>
    

    或者这个

    <Line X1="0" X2="125000.01" Y1="21" Y2="20" StrokeThickness="1" Stroke="Red"></Line>
    

    一切正常,可能有一个关于原因的答案,但很好的发现,因为如果您为 X2 的值设置动画,这会导致明显的闪烁。

    【讨论】:

    • 粗细为 1 的绝对水平或垂直线似乎被限制为 125000 像素。两倍粗的线可以有两倍长。您可以通过确保线条不完全水平或垂直来解决此问题。它必须是 WPF 中的错误或未记录的限制。
    猜你喜欢
    • 1970-01-01
    • 2020-04-30
    • 2017-03-27
    • 1970-01-01
    • 2011-10-29
    • 2015-12-13
    • 2016-07-29
    • 1970-01-01
    • 2012-04-19
    相关资源
    最近更新 更多