我希望有一个用户可以调整大小的窗口,我希望这个窗口保持比例比例(如果可能的话,MVVM方式!)。
我有两种不同的方法:
SizeChangedEvent
并调整Width
或Height
。工作,但窗口在调整大小时有非常奇怪的动画。MouseUp
事件,在用户释放按钮时调整Width
或Height
(调整大小时)。不幸的是,在调整大小后释放LeftButton时,MouseUp
事件不会触发。我无法使用MouseBinding
,因为MouseGesture
没有“MouseUp”参数,只有LeftClick
!你能帮助我,给我建议,代码,链接或任何有用的东西吗?
答案 0 :(得分:1)
您正在采取的第一个方法是正确的,另一种方法是使用win32 interop
,如以下帖子中所述 -
http://blog.mikeobrien.net/2009/09/maintaining-aspect-ratio-when-resizing.html
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/b0df3d1f-e211-4f54-a079-09af0096410e
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/77b566aa-be88-47a4-8c29-b1e44946348e/
其他类似的SO线程 -
How Can I Only Allow Uniform Resizing in a WPF Window?
Resize a WPF window, but maintain proportions?
但完全摆脱闪烁效应将很难。