1

有没有办法获得 ViewBox 在 XAML Windows 8 Metro Style App 中缩放其内容的比例因子

4

3 回答 3

3

WinRTXAMLToolit对此有一个扩展。

public static double GetChildScaleX(this Viewbox viewbox)
{
    if (viewbox.Child == null)
        throw new InvalidOperationException("Can't tell effective scale of a Viewbox child for a Viewbox with no child.");

    var fe = viewbox.Child as FrameworkElement;

    if (fe == null)
        throw new InvalidOperationException("Can't tell effective scale of a Viewbox child for a Viewbox with a child that is not a FrameworkElement.");

    if (fe.ActualWidth == 0)
        throw new InvalidOperationException("Can't tell effective scale of a Viewbox child for a Viewbox with a child that is not laid out.");

    return viewbox.ActualWidth / fe.ActualWidth;
}

GetChildScaleY是相同的,但与高度。

于 2013-04-17T09:35:12.767 回答
0

您可以尝试在其中添加一个网格视图,并从布局属性到您的内容自定义其列和行。将其宽度和高度设置为自动,并让它拉伸宽度和高度。此外,您应该让您的内容拉伸或再次将 witdh 和高度设置为自动。

另一方面,您可以尝试体验混合工具...

于 2012-06-12T05:12:43.327 回答
0

您可以将其ActualWidth/ActualHeight与其ActualWidth/ActualHeight子项进行比较。请注意,如果其 Stretch 设置为 ,这些可能会有所不同Fill

于 2012-05-15T00:12:33.323 回答