我有一个很奇怪的问题:
我的问题是: Snoop正在做什么来强制刷新窗口?

我试过的
我尝试了以下几点:
window.UpdateLayout();window.InvalidateVisual();TopMost设置为false,然后将true设置为触发DependencyProperty刷新。发布于 2016-03-16 13:27:10
原来斯诺普并没有做什么特别的事。
如果我再等500毫秒,它就能工作:
Task task = Task.Run(
async () =>
{
// Without this delay, the change will not work.
await Task.Delay(TimeSpan.FromMilliseconds(500));
Application.Current.Dispatcher.Invoke(
() =>
{
floatingPaneWindow.Topmost = true;
{
if (window.Top < 0)
{
window.Top = 0;
}
if (window.Left < 0)
{
window.Left = 0;
}
}
});
});当然,在应用程序中添加特定的时间是非常困难的,所以我目前正在寻找一些方法来确定窗口是否被正确设置。
更新
谜题解决后,使用Dispatcher选择适当的优先级,请参阅WPF: In an attached property, how to wait until visual tree loaded properly?
https://stackoverflow.com/questions/36037028
复制相似问题