簡體   English   中英

通過 WPF 應用程序啟動時,Winform window 會縮小

[英]Winform window gets shrinked when lauched through WPF Application

我創建了 WPF 應用程序。 在這個應用程序中

  1. 我正在啟動 win form exe。
  2. 稍后將 WPF window 作為此獲勝表單的父級。
  3. 當我以當前分辨率執行此應用程序時。 一切正常

但是當我通過 4K 顯示器 (3840 * 2100) 啟動相同的東西時,表單大小會減小。

我嘗試了以下事情。

  1. 制作win form Size為window。最大化。
  2. 創建 WPF 清單並取消注釋 DPIaware 以生成 WPF 應用程序 DPIaware。
  3. 操縱父級 window 的大小。

任何幫助或建議都會有所幫助。 (僅供參考:當我嘗試從 WinForms 啟動相同的 exe 時,我沒有看到這個問題)。

代碼片段

/* mainwindow.xaml.cs*/
    var procInfo = new System.Diagnostics.ProcessStartInfo(ExeName, arguments);
    // Start the process
    var ProcessObj = System.Diagnostics.Process.Start(procInfo);
    var helper = new WindowInteropHelper(Window.GetWindow(this.grid1));
    SetParent(ProcessHandler, helper.Handle);

/* App.manifest */
  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
    </windowsSettings>
  </application>
 
/*assemblyinfo.cs*/
[assembly: System.Windows.Media.DisableDpiAwareness]

使用以下任何解決方案使 WPF dpi 不可見:

    /* App.manifest *
       <application xmlns="urn:schemas-microsoft-com:asm.v3">
       <windowsSettings>
          <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</dpiAware>
    </windowsSettings>
  </application>
 

要么

    /*assemblyinfo.cs*/
     [assembly: System.Windows.Media.DisableDpiAwareness]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM