在顶部打开WPF窗口,但不要始终使用Powershell保持在顶部

时间:2020-01-08 19:38:13

标签: wpf powershell window topmost

使用WPF时遇到问题。当我打开窗口时,我希望它能在所有其他程序的顶部打开,但我不希望它始终保持在顶部,而只是最初的打开。我知道将topmost设置为true会在顶部打开(我在Xaml中具有此功能),但是我似乎无法找到一种方法在将其打开后将其更改为false。

这是带有WPF窗口的简单测试功能。

                 petData['StrImageBase64'] ="/9j/4AAQSkZJRgABAQAAAQABAAD/4RllRXhpZgAASUkqAAgAAAAHABoBBQABAAAAYgAAABsBBQABAAAAagAAACgBAwABAAAAAgAAADIBAgAUAAAAcgAAABMCAwABAAAAAQAAAGmHBAABAAAAhgAAACWIBAABAAAA6AAAACoBAABIAAAAAQAAAEgAAAABAAAAMjAxOToxMToxMCAwNTo1NTozMwAHAACQBwAEAAAAMDIxMAGRBwAEAAAAAQIDAAqSBQABAAAA4AAAAACgBwAEAAAAMDEwMAGgAwABAAAA//8AAAKgBAABAAAAAAUAAAOgBAABAAAAwAMAAAAAAAAkEwAA6AMAAAIABwAFAAMAAAAGAQAAHQACAAsAAAAeAQAAAAAAAAAAAAABAAAANwAAAAEAAAAfAAAAAQAAADIwMTk6MTE6MTAAAAIAAQIEAAEAAABIAQAAAgIEAAEAAAAVGAAAAAAAAP/Y/+AAEEpGSUYAAQEAAAEAAQAA/9sAQwAGBAUGBQQGBgUGBwcGCAoQCgoJCQoUDg8MEBcUGBgXFBYWGh0lHxobIxwWFiAsICMmJykqKRkfLTAtKDAlKCko/9sAQwEHBwcKCAoTCgoTKBoWGigoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo/8AAEQgA8AFAAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX2";
                 print("json.encode =${json.encode(petData)}");

1 个答案:

答案 0 :(得分:0)

如果未在XAML中设置“最高”,则该窗口将在运行脚本时显示在顶部(假设没有其他设置“最高”的窗口),并且其行为类似于普通的桌面窗口,在该窗口中,用鼠标关注其他窗口或键盘将导致窗口失去前景位置。

因此,要使窗口位于“仅用于初始打开”的顶部,则要摆脱Topmost属性或将其设置为false将是可行的,再次假设没有其他设置Topmost的窗口。如果实际上还有其他窗口在争夺最高位置,则可以使用SetForegroundWindow暂时将其置于顶部:

https://stackoverflow.com/a/12802050/4195823

相关问题