2010-10-15 122 views
0

我試圖把一個ScrollViewer包裹在畫布(一些信號的圖表),但我似乎無法得到它的工作。WPF問題(SizeChanged事件,滾動查看器+畫布)

首先,我有一個用戶控件,它是一個2d線條圖(來自我正在遵循的一本書),並且我正試圖修改它以便爲我自己的用途進行定製。相關配件有:

我的應用程序(Window1.xaml)

<Grid Grid.Column="1" Grid.Row="2"> 

     <local:LineChartControlLib x:Name="originalChart" Xmin="0" Xmax="51.2" Ymin="-3" Ymax="3" Background="White" Title="" GridlinePattern="DashDot" /> 

    </Grid> 

的用戶控件:

<Grid Margin="0" x:Name ="chartGrid" Grid.Column="1" Grid.Row="1" ClipToBounds="True" Background="Transparent" SizeChanged="chartGrid_SizeChanged" /> 
    <Canvas Margin="2" Name="textCanvas" ClipToBounds="True" Grid.Column="1" Grid.Row="1"> 
     <Canvas Name="chartCanvas" ClipToBounds="False"> 
      <Canvas Name="legendCanvas" Background="Transparent" /> 
     </Canvas> 
    </Canvas> 

如果我在我的應用程序放在一個ScrollViewer中周圍的任何畫布的網格中,畫布不顯示,執行時間非常慢。如果我在用戶控件的網格或Canvas周圍放置了ScrollViewer,「chartGrid_SizeChanged」事件會重複觸發(無限次)。任何人都可以啓發我對我不瞭解的事情嗎?非常感謝。

回答

0

畫布面板不適合滾動查看器。有關更多信息,請參閱此post