Xaml 在Metro样式的应用程序上计算ViewBox比例因子
在XAML Windows 8 Metro风格的应用程序中,是否有任何方法可以获得可视框缩放其内容的比例因子?您可以将其Xaml 在Metro样式的应用程序上计算ViewBox比例因子,xaml,windows-8,windows-runtime,viewbox,winrt-xaml,Xaml,Windows 8,Windows Runtime,Viewbox,Winrt Xaml,在XAML Windows 8 Metro风格的应用程序中,是否有任何方法可以获得可视框缩放其内容的比例因子?您可以将其实际宽度/实际高度与其子项的实际宽度/实际高度进行比较。请注意,如果将其拉伸设置为Fill,则这些可能会有所不同。您可以尝试在其内部添加网格视图,并从布局属性到内容自定义其列和行。将其宽度和高度设置为“自动”,并让其拉伸宽度和高度。此外,你应该让你的内容拉伸或设置witdh和高度自动再次 另一方面,您可以尝试体验混合工具…具有此功能的扩展 public static doubl
实际宽度/实际高度
与其子项的实际宽度/实际高度
进行比较。请注意,如果将其拉伸设置为Fill
,则这些可能会有所不同。您可以尝试在其内部添加网格视图,并从布局属性到内容自定义其列和行。将其宽度和高度设置为“自动”,并让其拉伸宽度和高度。此外,你应该让你的内容拉伸或设置witdh和高度自动再次
另一方面,您可以尝试体验混合工具…具有此功能的扩展
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
是相同的,但有高度