通过代码动态更改ScrollViewer内容的高度

时间:2017-07-10 06:50:48

标签: wpf xaml

我不得不改变滚动查看器内容的高度,而不管内部内容的大小。

原因是我将拥有一个非常长的图像,并且我不想在滚动时减慢GUI的速度。因此,我剪切了长图像,并根据当前的滚动查看器垂直偏移渲染它的拼接图像。

我尝试通过放置一个隐藏的长图像来实现它,以便它不会在滚动时渲染,并且不会有任何延迟。但我不会感觉良好。

有人可以帮助我动态增加ScrollViewer内容的高度吗?

代码在这里:

     <Grid Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="9" Grid.RowSpan="12" Margin="10,60,10,0" >
    <Image x:Name="StitchedImage" SnapsToDevicePixels="True" HorizontalAlignment="Stretch" Stretch="Fill"/>
    <ScrollViewer x:Name="ImageScrollViewer" Background="Transparent" ScrollChanged="ImageScrollViewer_ScrollChanged" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Disabled">
      <Grid VerticalAlignment="Top" HorizontalAlignment="Left" >
        <Image x:Name="longImageHidden" SnapsToDevicePixels="True" Visibility="Hidden"/>
        </Grid>
    </ScrollViewer>
  </Grid >

1 个答案:

答案 0 :(得分:0)

  

我认为如果我可以只提供一个空白图像来指定高度和宽度而没有任何来源,那将是非常酷的。这甚至可能吗?

是的,它是:

<Image Height="1000" />

您还可以设置Height以及任何其他ScrollViewer派生类型的FrameworkElement