我想检测ViewBox
的缩放或大小的变化,以便我可以在其内部的控件上应用一些自定义逻辑。
有可能吗?
答案 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)
{
}