rem*_*rem 8 silverlight wpf layout viewbox
如果我们使用WPF(Silverlight的)Viewbox
用Stretch="UniformToFill"
或Stretch="Uniform"
当它保持内容的原始宽高比,我们怎么能拿知道哪个被应用于内容的缩放的电流系数?
注意:我们并不总是知道内容的确切初始尺寸(例如,它是一个包含大量内容的网格).
Fre*_*lad 16
请参阅此问题:获取ViewBox中项目的大小(在"拉伸"之后)
基本上,如果你有一个Viewbox
被叫的视图框,你可以ScaleTransform
这样做
ContainerVisual child = VisualTreeHelper.GetChild(viewbox, 0) as ContainerVisual;
ScaleTransform scale = child.Transform as ScaleTransform;
Run Code Online (Sandbox Code Playgroud)
您还可以创建一个Viewbox
可以像这样调用的扩展方法
viewbox.GetScaleFactor();
Run Code Online (Sandbox Code Playgroud)
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;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4630 次 |
最近记录: |