2016-07-22 119 views

回答

1

试试这个代码:

private void Viewbox_SizeChanged(object sender, SizeChangedEventArgs e) 
{ 
    double initialWidth = 509.0; 

    if (e.PreviousSize.Width > 0) 
    { 
     var factor = e.NewSize.Width/initialWidth; 
     this.Title = (factor * 100).ToString(); 
    } 
} 

值509.0是我最初的窗口的宽度。每次调整窗口大小时,我都会计算新宽度和初始宽度之间的百分比。我想你需要订阅MouseLeftButtonUp来检测每个窗口大小的结束,所以你可以保存新的宽度。

0

是否有可能订阅SizeChanged事件?

<Viewbox SizeChanged="Viewbox_SizeChanged"> 

</Viewbox> 

并在代码隐藏,你简单地说:

private void Viewbox_SizeChanged(object sender, SizeChangedEventArgs e) 
{ 

} 
+0

好的。请介绍一下当ViewBox的尺寸发生变化时,SizeChanged事件是否有缩放变化。假设ViewBox的初始状态是100%,现在我们改变了ViewBox的大小。我们可以使用SizeChanged事件来计算ViewBox缩放比例的变化吗? –

+1

@迪米,尝试一下,看看自己。 'e.PreviousSize.Height/e.NewSize.Height' – Meloviz

+0

mmmhhhh,您需要在字段中保存初始大小的值。我添加了一个新的答案来发布一些代码 –