WPF ViewBox zoom/size 更改事件
WPF ViewBox zoom/size changed event
我想检测 ViewBox
的缩放或大小的变化,以便我可以在其中的控件上应用一些自定义逻辑。
可以吗?
您可以订阅 SizeChanged 事件吗?
<Viewbox SizeChanged="Viewbox_SizeChanged">
</Viewbox>
在后面的代码中,您只需输入:
private void Viewbox_SizeChanged(object sender, SizeChangedEventArgs e)
{
}
试试这个代码:
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是我初始Window的宽度。每次调整 window 的大小时,我都会计算新宽度和初始宽度之间的百分比。我想您需要订阅 MouseLeftButtonUp 来检测每次 window 调整大小的结束,这样您就可以保存新的宽度。
我想检测 ViewBox
的缩放或大小的变化,以便我可以在其中的控件上应用一些自定义逻辑。
可以吗?
您可以订阅 SizeChanged 事件吗?
<Viewbox SizeChanged="Viewbox_SizeChanged">
</Viewbox>
在后面的代码中,您只需输入:
private void Viewbox_SizeChanged(object sender, SizeChangedEventArgs e)
{
}
试试这个代码:
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是我初始Window的宽度。每次调整 window 的大小时,我都会计算新宽度和初始宽度之间的百分比。我想您需要订阅 MouseLeftButtonUp 来检测每次 window 调整大小的结束,这样您就可以保存新的宽度。