我正在开发一个 windows phone 8 应用程序,我使用 Rectangle 和 Lines 在放置在 ScrollViewer 内的 Canvas 内绘制图形。
但是在绘图期间我在画布期间面临 System.OutOfMemoryException(图形可能超过屏幕大小的 3 倍)
我已将 Canvas 放置在 ScrollViewer 中。当我删除 ScrollViewer 时,问题不会发生,但即使我设置了属性,我也无法滚动 Canvas Scrollviwer.HorizontalScrollBarVisibilty = Visible
。
<ScrollViewer Name="MainScrollViewer" VerticalScrollBarVisibility="Disabled" HorizontalAlignment="Stretch" HorizontalScrollBarVisibility="Auto" Grid.RowSpan="2" >
<Canvas x:Name="MainCanvas" HorizontalAlignment="Left" Tap="OnCanvasTap" >
<Canvas.RenderTransform>
<CompositeTransform CenterX="100" CenterY="75" />
</Canvas.RenderTransform>
</Canvas>
</ScrollViewer>
我也尝试过使用GC.Collect
和Canvas.Children.Clear()
绘制的位置,但即便如此,问题仍然存在。