我创建了一个具有叠加模式的WPF应用程序。在这种模式下,整个应用程序变得半透明。我现在希望能够点击这个窗口来操作它背后的元素[其他程序UI,桌面图标等]。
我想知道是否有可能立即配置窗口来表示此行为。我设置了我的应用程序窗口:
WindowStyle="None" AllowsTransparency="True" Opacity="0.5" Background="Black" IsHitTestVisible="True" Focusable="True" IsTabStop="False"
如果我将背景设置为x:Null或Transparent,我可以点击该应用程序。但是,应用程序根本不可见。
如果直接无法做到这一点,我想到了另一个解决方案: 单击应用程序时,将其最小化,再次执行鼠标单击,然后最大化应用程序。我找到了一些全局鼠标点击的示例代码,如下所示:
MouseEventArgs e = new MouseEventArgs(Mouse.PrimaryDevice, 0);
e.RoutedEvent = Mouse.MouseEnterEvent;
youUIElement.RaiseEvent(e);
// Or
InputManager.Current.ProcessInput(e);
但是,我认为在尝试双击时这不起作用。
所以,一般的愿望用几句话说: 半透明的WPF应用程序,始终在顶部,点击。键盘输入也应该通过。 我设置了一个特殊的热键,可以恢复应用程序。
任何帮助/想法?