我试图找到一种方法来轻推WPF窗口(类似于msn messenger窗口用于轻推的方式)。我知道有些人会说我不应该这样做,但它是为了满足特定的用户要求。通过轻推我的意思是摇动窗口位置大约半秒钟(我对MSN之类的声音不感兴趣,因为客户环境不允许声音)。
我也将把窗户带到前面(但我已经知道如何做到这一点)。
这样做的原因是在发生极其重要的事件时与最终用户联系。
我在应用程序中使用WPF XAML和c#
我考虑在计时器上随机移动窗口,但也想知道我是否可以通过XAML实现这一点?
答案 0 :(得分:1)
好的,我已经找到了如何通过修改代码项目示例中为Windows窗体执行此操作的代码来完成此操作。 http://www.codeproject.com/Articles/10131/Simulate-the-quot-Nudge-quot-Effect
public void NudgeWindow(Window window)
{
var maxOffset = 9;
var minOffset = 1;
var originalLeft = (int) window.Left;
var originalTop = (int) window.Top;
var rnd = 0;
var RandomClass = new Random();
for (int i = 0; i <= 500; i++)
{
rnd = RandomClass.Next(originalLeft + minOffset, originalLeft + maxOffset);
window.Left = rnd;
rnd = RandomClass.Next(originalTop + minOffset, originalTop + maxOffset);
window.Top = rnd;
}
window.Left = originalLeft;
window.Top = originalTop;
}