2016-07-22 120 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,您需要在字段中保存初始大小的值。我添加了一個新的答案來發布一些代碼 –