c# - 图像缩放后我如何更新滚动查看器?

标签 c# wpf image scale scrollviewer

我在缩放图像后更新 ScrollViewer 时遇到一个大问题。我尝试调用方法 UpdateLayout,但一切都完好无损。图像缩放没有问题,但滚动条保持不变。

几个小时后,我在堆栈溢出和谷歌上寻找不同的解决方案,但没有,我失败了。 XAML:

        <ScrollViewer x:Name="imagescrl" Grid.Row="1" VerticalScrollBarVisibility="Auto" CanContentScroll="True" HorizontalScrollBarVisibility="Auto" >
            <Image x:Name="imgp"  VerticalAlignment="Center" HorizontalAlignment="Center">
                <Image.RenderTransform>
                    <TransformGroup>
                        <ScaleTransform ScaleX="0.01" ScaleY="0.01"/>
                        <ScaleTransform x:Name="imgpScale">
                            <ScaleTransform.ScaleX>
                                <Binding ElementName="sldZoom" Path="Value" Mode="OneWay"/>
                            </ScaleTransform.ScaleX>
                            <ScaleTransform.ScaleY>
                                <Binding ElementName="sldZoom" Path="Value" Mode="OneWay"/>
                            </ScaleTransform.ScaleY>
                        </ScaleTransform>
                    </TransformGroup>
                </Image.RenderTransform>
            </Image>
        </ScrollViewer>
    ...
    ...


            <Slider ValueChanged="Slider_ValueChanged"  x:Name="sldZoom"   BorderThickness="11,20,0,5" Maximum="250" Minimum="1" Value="100" Width="153"/>

谢谢

c#:

private void Slider_ValueChanged(object sender,RoutedPropertyChangedEventArgs<double> e)
    {
        imagescrl.UpdateLayout();
    }

最佳答案

你需要使用

<Image.LayoutTransform> 

代替

<Image.RenderTransform>

而且后端代码中不需要事件

关于c# - 图像缩放后我如何更新滚动查看器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21027816/

相关文章:

Java:从 UTF8 字符串创建 Drawable

c# - 如何获取枚举的基础值

c# - WPF:具有多个数据模板的 TabControl

c# - 可绑定(bind)选择器的标题不起作用

wpf - WPF ControlTemplate:如何为TemplateBinding提供默认值?

wpf - 通过分页器保存和打印 XPSDocument(似乎)会导致内容光栅化

c# - 如何使用 XAML 将 DatagridComboBoxColumn 绑定(bind)到不在 DataGrid 的 ItemsSource 中的 ViewModel 属性?

Html:如何使用箭头键动态移动图像?

ios - 以编程方式设置按钮背景图像 iPhone

c# - 使用未知类型参数 (Action<any>) 调用 Action