WPF:常见问题

时间:2023-02-05 05:44:57

1、自定义Main函数

  背景:

    wpf 默认的Main函数在 App.g.cs文件中,在App.xmal.cs内自定义Main函数后冲突。

  解决方法:

    法一: 1)新建class1.cs类,在其中设置自定义Main函数。

        2)Project-->Properties-->Application-->Start Object 默认是No Set,更改为 WpfChapter01.class1。

          (工程-->属性-->应用程序-->启动对象)      

    法二: 1)右击解决方案内的App.xaml文件,选择Properties(属性),Build Action(生成操作) 从默认ApplicationDefinition改为Page。

    注:自定义Main函数须加上[STAThread]属性,其指示应用程序的 COM 线程模型是单线程单元 (STA)。

2、界面显示在最前端:

  间隔*ms,设置窗体显示在最前端。

  需要设置的属性(WPF):

        1)this.Topmost = true;this.Show();                2)SetWindowPos(new WindowInteropHelper(this).Handle, -1, 0, 0, 0, 0, 0x4000 | 0x0001 | 0x0002);

  注意:

    1、仅仅设置this.Topmost = true;this.Show();是不够的因为在某些情况下会被覆盖。

    2、SetForegroundWindow函数时,转换到其他窗体无法输入内容。