我有一个用户可以绘制的区域。我希望他们能够放大它,并且还能够滚动(这样如果他们将窗口调整得更小,它就不会永久地被剪裁。 )所以我有这个:
<ScrollViewer VerticalScrollMode="Enabled" VerticalScrollBarVisibility="Auto" HorizontalScrollMode="Enabled" HorizontalScrollBarVisibility="Auto" ZoomMode="Enabled" MinZoomFactor="1">
<ItemsControl ItemsSource="{Binding DisplaySlides, Mode=OneWay}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</ScrollViewer>
绘图区的模板是:
<Grid Background="White" Opacity="0.8">
<!-- Inking area -->
<InkCanvas x:Name="inkCanvas"/>
</Grid>
问题在于,如果我调整窗口大小或放大,滚动实际上并不起作用。在&#34;海绵空间&#34; (一点点&#34;弹性&#34;一个ScrollViewer
给出了当你尝试滚动而且它可以&#t; t)我可以看到InkCanvas
确实超出了界限ScrollViewer
。但它只是不会滚动。我猜测我应该使用Canvas
代替Grid
或其他东西,但是当我这样做时,它甚至不会显示我的InkCanvas
。
(最糟糕的是,我有这个工作....然后不小心删除了项目。现在我已经尝试了几个小时,并且不能让它再次为我的生活工作。 )