【问题标题】:How to set WPF app to always be inactive so it does not steal focus from other apps如何将 WPF 应用程序设置为始终处于非活动状态,这样它就不会从其他应用程序中窃取焦点
【发布时间】:2016-10-01 14:23:48
【问题描述】:

我想要什么:

始终将我的 WPF 设置为非活动状态,即使当我按下按钮时,无论我在与该 WPF 应用程序交互时做什么,我都不希望任何其他应用程序失去它的焦点/激活,例如,软件键盘如何工作?如果键盘要正确输入文本,则在使用软件键盘时,活动窗口(例如谷歌)必须保持活动状态,否则键盘将无法输入击键,因为谷歌在触摸键盘时失去焦点/激活.

我想做什么:

 private void button_Click(object sender, RoutedEventArgs e)
{

    InputSimulator.SimulateTextEntry("1");

}

例如,我的 WPF 需要将该击键文本发送到“google”的活动窗口中,但是当我按下按钮时,来自 google 的焦点/激活丢失了,它现在在我的 WPF 应用程序中,因此我可以不发送击键,想象一下 Surface pro 3 软件键盘,当你按下它的按钮时,它不会带走当前应用程序的焦点/激活,我想做类似的事情,我该怎么做?

【问题讨论】:

    标签: c# wpf keyboard


    【解决方案1】:

    不确定是否可能,因为您只是将窗口集中在点击上。 当主窗口获得焦点时,您可以一直取消焦点。

     public partial class App : Application
      {
        public App()
        {      
           Activated += (s,e) => 
           {
              App.Current.MainWindow.SetValue(MyApp.MainWindow.IsFocusedProperty, false);
           };
        }   
      }
    

    【讨论】:

    • 我不知道如何将其放入我的代码中,我不断收到不同的异常/错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 2021-05-08
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    相关资源
    最近更新 更多