См. Этот вопрос: Получите размер (после того, как он был "растянут") элемента в 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;
}
}