Xaml ScrollViewer工作不正常

Xaml ScrollViewer工作不正常,xaml,windows-10,scrollviewer,uwp,inkcanvas,Xaml,Windows 10,Scrollviewer,Uwp,Inkcanvas,我有一个用户可以绘制的区域。我希望他们能够对其进行缩放,并且能够滚动(这样,如果他们将窗口调整得更小,它就不会被永久剪切)。因此,我有以下功能: <ScrollViewer VerticalScrollMode="Enabled" VerticalScrollBarVisibility="Auto" HorizontalScrollMode="Enabled" HorizontalScrollBarVisibility="Auto" ZoomMode="Enabled" MinZoomFa

我有一个用户可以绘制的区域。我希望他们能够对其进行缩放,并且能够滚动(这样,如果他们将窗口调整得更小,它就不会被永久剪切)。因此,我有以下功能:

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

问题是,如果我调整窗口大小或放大,滚动实际上不起作用。在“海绵空间”(当您尝试滚动时,
ScrollViewer
会产生一点点“弹性”,但它不能),我可以看到,
InkCanvas
确实超出了
ScrollViewer
的范围。但它不会滚动。我猜我应该使用
Canvas
而不是
Grid
或其他东西,但当我这样做时,它甚至不会显示我的
InkCanvas


(最糟糕的是我让它工作了……然后意外地删除了项目。现在我已经尝试了几个小时,在我的一生中都无法让它再次工作。)

尝试将内部元素设置为特定的大小
,或者如果它无法工作周围的网格等,否则我认为它会扩展所有内容(包括滚动查看器)但不确定,太困:)设置一个固定大小是可行的,但因为我不知道屏幕大小,所以它不是一个选项。我也认为它可能正在调整大小,但我在Scrollviewer上设置了一个边框,它似乎保留在页面上。您可以根据窗口事件的大小变化动态设置它。您还可以设置ScrollViewer的大小,例如,若您的主布局在网格中,并且设置了行和列的大小(不需要是固定值,它可以是%值)。我将发布一个示例作为答案,以便您可以查看它,如果它不起作用,请告诉我删除它,好吗?不幸的是,它似乎不起作用(仅提供一点额外信息,我正在使用SplitView,其中我的菜单位于面板中,绘图区域占据整个内容。我曾考虑过动态设置大小,但我知道我以前在XAML中进行过设置。使用SplitView结构添加了一次编辑,但不确定这是否是您想要的