WPF Viewbox中的可滚动内容带有“UniformToFill”

前端之家收集整理的这篇文章主要介绍了WPF Viewbox中的可滚动内容带有“UniformToFill”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何使用Stretch =“UniformToFill”在 WPF ViewBox中放置的内容可以滚动?

例如:

<Grid Height="500" Width="1000" >
  <ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Visible" >
      <ViewBox Stretch="UniformToFill">
       ......

      </ViewBox>
   </ScrollViewer>
</Grid>

调整内容大小以填充目标维度,同时保留其原始宽高比.如果目标的宽高比与源不同,则会剪切源内容以适合目标尺寸.
所以我尝试使用ScrollViewer能够滚动到剪辑的源内容区域,但滚动条可见但已禁用.

我试过ClipToBounds =“False”但它没有帮助.

解决方法

ViewBox根据其占用的维度调整其内容的大小. ScrollViewer为其内容提供无限宽度/高度以进行渲染.因此,当您将ViewBox放在ScrollViewer中时,ViewBox认为它具有“世界上所有空间”来拉伸.

此外,ViewBox使用渲染转换来拉伸内容,这意味着您的ScrollViewer永远不会知道内容的最终大小.

要使ScrollViewer正常工作,您必须在ViewBox上放置宽度/高度.它需要知道它占用了多少空间.

猜你在找的Silverlight相关文章