如何获得应用的WPF Viewbox缩放系数

如何获得应用的WPF Viewbox缩放系数,第1张

概述如果我们在保留内容的原始宽高比时使用带有Stretch =“UniformToFill”或Stretch =“Uniform”的 WPF(Silverlight)Viewbox,我们怎样才能知道应用于内容的当前缩放系数? 注意:我们并不总是知道内容的确切初始尺寸(例如,它是一个包含大量内容的网格). 看到这个问题: Get the size (after it has been “streched 如果我们在保留内容的原始宽高比时使用带有Stretch =“UniformToFill”或Stretch =“Uniform”的 WPF(Silverlight)VIEwBox,我们怎样才能知道应用于内容的当前缩放系数

注意:我们并不总是知道内容的确切初始尺寸(例如,它是一个包含大量内容的网格).

解决方法 看到这个问题: Get the size (after it has been “streched”) of an item in a ViewBox

基本上,如果你有一个名为vIEwBox的VIEwBox,你可以像这样获得Scaletransform

ContainerVisual child = VisualTreeHelper.GetChild(vIEwBox,0) as ContainerVisual;Scaletransform scale = child.transform as Scaletransform;

你也可以为VIEwBox制作一个扩展方法,你可以像这样调用它

vIEwBox.GetScaleFactor();

VIEwBoxExtensions

public static class VIEwBoxExtensions{    public static double GetScaleFactor(this VIEwBox vIEwBox)    {        if (vIEwBox.Child == null ||            (vIEwBox.Child is FrameworkElement) == false)        {            return double.NaN;        }        FrameworkElement child = vIEwBox.Child as FrameworkElement;        return vIEwBox.ActualWIDth / child.ActualWIDth;    }}
总结

以上是内存溢出为你收集整理的如何获得应用的WPF Viewbox缩放系数全部内容,希望文章能够帮你解决如何获得应用的WPF Viewbox缩放系数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1003507.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存