2016-09-26 1 views
0

캔버스에 선을 그 으려고하고 있지만 x2 값이 125020 이상이면 그릴 수 없습니다. XAML 코드 below.`I'm 수 2 배의 값 또는 125020.x2 값이 125020보다 큰 경우 캔버스에 수평선을 그릴 수 없습니다.

<ScrollViewer Name="C1_S" Grid.Row="0" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" VerticalAlignment="Bottom" Grid.ColumnSpan="2" > 
        <Canvas Name="canvas_core0" Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Bottom" Height="640" Width="1000000" MouseWheel="Canvas_MouseWheel" > 
         <Line Stroke="Black" X1="20" Y1="20" X2="20" Y2="620" StrokeEndLineCap="Triangle" StrokeDashCap="Triangle" /> 
         <Line Stroke="Black" X1="20" Y1="220" X2="125021" Y2="220" StrokeEndLineCap="Triangle" StrokeDashCap="Triangle" /> 
         <Line Stroke="Black" X1="20" Y1="420" X2="{Binding ElementName=canvas_core0, Path=Width}" Y2="420" StrokeEndLineCap="Triangle" StrokeDashCap="Triangle" /> 
         <Line Stroke="Black" X1="20" Y1="620" X2="{Binding ElementName=canvas_core0, Path=Width}" Y2="620" StrokeEndLineCap="Triangle" StrokeDashCap="Triangle" /> 
         <Canvas.Background> 
          <DrawingBrush TileMode="Tile" Viewport="0,20,40,40" ViewportUnits="Absolute"> 
           <DrawingBrush.Drawing> 
            <GeometryDrawing> 
             <GeometryDrawing.Geometry> 
              <RectangleGeometry Rect="0,0,50,50"/> 
             </GeometryDrawing.Geometry> 
             <GeometryDrawing.Pen> 
              <Pen Brush="Gray" Thickness=".1"/> 
             </GeometryDrawing.Pen> 
            </GeometryDrawing> 
           </DrawingBrush.Drawing> 
          </DrawingBrush> 
         </Canvas.Background> 
         <Canvas.RenderTransform> 
          <MatrixTransform/> 
         </Canvas.RenderTransform> 
        </Canvas> 
       </ScrollViewer> 

사람이 도와 줄 수 아래 같은 경우 라인을 볼 수있는 찾을? 캔버스에서 드로잉하는 동안 선 길이에 제한이 있습니까?

답변

0

허, 가로줄이 긴 WPF 그리기 버그 여야합니다.

나는 진짜 대답이 없지만 주위에 수평선을 그 으려하지 않는 것이 좋습니다. 대신에 거의 수평선을 그리십시오. Y1 또는 Y2 (둘 다 변경하지 않고 "220"에서 "220.00001")로 변경하면 선이 표시됩니다. "220.000001"(한 번 더 0)은 그리지 않아서 일종의 또 다른 제한 인 것처럼 보입니다.

X2 = "125021000"(3을 추가)으로 테스트 했는데도 여전히 선이 나타납니다.

+0

ScrollViewer 내부에 매우 넓은 수평선이있는 버그 인 것 같습니다. 꽤 수평선에 좋은 지점. –

+0

그 일을 해결하면 ... !!! : D : D –

0

StrokeThickness (심지어 약간만) 작업을 늘리십시오.

나는이 대답이 다소 불만족 스럽다고 생각하지만 필사적이고 적어도 단서가 있다면 도움이 될 수 있습니다.

UseLayoutRoundingSnapsToDevicePixels으로 시도했지만 작동하지 못했습니다.

흥미 롭습니다.

+0

나는 이것을 시도했다. 그러나 충분하지 않다. 나는 어떤 값에 기초하여 너비가 증가하는 캔버스에 음모를 꾸미려고 노력하고있다. 그리고 캔버스의 끝까지이 선을 그려보기 위해 노력하고있다. –

관련 문제