WPF ViewBox缩放/大小更改事件

时间:2016-07-22 12:27:49

标签: c# .net wpf zoom viewbox

我想检测ViewBox的缩放或大小的变化,以便我可以在其内部的控件上应用一些自定义逻辑。

有可能吗?

2 个答案:

答案 0 :(得分: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来检测每个窗口调整大小的结束,这样你就可以保存新的宽度。

答案 1 :(得分:0)

您是否可以订阅SizeChanged事件?

<Viewbox SizeChanged="Viewbox_SizeChanged">

</Viewbox>

在代码隐藏中你只需输入:

private void Viewbox_SizeChanged(object sender, SizeChangedEventArgs e)
{

}