有没有办法找出用于检测左侧或右侧窗口对接的EVENT(或属性或方法等)?
说明
问题:
我需要在向左或向右对接后在窗口中进行一些更改。我需要在WPF / XAML中使用一个触发器,但我无法找到与左/右对接相关的任何属性或事件。
答案 0 :(得分:2)
没有任何特殊事件,因为'对接'左/右不是像最小化/最大化那样的特殊操作,而只是一种重新定位窗口的特定方式。用户可以模仿对接'完全通过恢复,移动和调整窗口大小。因此,您的UI逻辑似乎有问题。想象一下,用户恢复窗口然后调整大小,使其填充靠近屏幕右边缘的大约半个屏幕。会发生什么?
Protip:可能有多个显示器,你的窗户可能会跨越它们。
答案 1 :(得分:0)
我是在模板的窗口周围完成此操作的
<Border BorderBrush="Transparent" BorderThickness="5" Margin="-5" Effect="{DynamicResource ShadowEffect}">
<...>
</Border>
负边距会否定边框的厚度。
答案 2 :(得分:0)
在SizeChanged事件中,您可以检测窗口是否停靠在其中:
bool isDocked =
window.WindowState == WindowState.Normal &&
window.Width != window.RestoreBounds.Width &&
window.Height != window.RestoreBounds.Height
至少,这是一个很好的指标。