簡體   English   中英

WinForms 中的 Windows 工具包 XamlHostControl

[英]Windows Toolkit XamlHostControl in WinForms

我正在嘗試按照 WinForms 的說明運行下面頁面上的非常基本的示例

https://docs.microsoft.com/en-us/windows/communitytoolkit/controls/wpf-winforms/windowsxamlhost

嘗試將 WindowsXamlHost 控件拖到設計器上時,我不斷收到錯誤消息

我一直在 MSDN 論壇上進行交流,此過程描述了問題以及我嘗試過的內容,請參閱以下鏈接WinForms 問題

誰能幫我解決我的問題。 我真的需要嘗試在我的 WinForms 程序中加入一些現代 UPC 控件。

親切的問候

史蒂夫

感謝您的反饋,我可以重現此問題,而且它看起來是 Visual Studio 奇怪的行為,請隨時在Microsoft.Toolkit.Win32 github 問題框中發布此問題。 目前,有一種變通方法,在后面的代碼中初始化WindowsXamlHost ,然后在InitializeComponent方法中調用下面的方法。

對於 WinForms

private void CreateUWPControlsFirst()
{  
    Windows.UI.Xaml.Hosting.WindowsXamlManager.InitializeForCurrentThread();   
    Windows.UI.Xaml.Controls.Button myButton = new Windows.UI.Xaml.Controls.Button();
    myButton.Name = "button1";
    myButton.Width = 75;
    myButton.Height = 40;
    myButton.TabIndex = 0;
    myButton.Content = "button1";
    myButton.Click += MyButton_Click;

    Microsoft.Toolkit.Forms.UI.XamlHost.WindowsXamlHost myHostControl =
       new Microsoft.Toolkit.Forms.UI.XamlHost.WindowsXamlHost();           
    myHostControl.Name = "myWindowsXamlHostControl";

    myHostControl.Child = myButton;
    myHostControl.Height = 500;
    myHostControl.Width = 600;

    this.Controls.Add(myHostControl);
}

請注意:如果您遇到Catastrophic failure" exception ,請添加app.manifest文件並寫入以下內容,然后將 win 從應用程序的默認清單切換到 app.manifest。(右鍵單擊您的項目 -> 應用程序 -> 清單)有關詳細信息,請參閱 Matteo帕加尼博客

<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>

      <!-- Windows 10 -->
      <maxversiontested Id="10.0.18358.0"/>
      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />

    </application>
  </compatibility>

</assembly>

我在嘗試使用 Visual Studio 2017 為 WinForms 實現 XAML Islands 時遇到了同樣的問題,這就是我為解決該問題所做的工作。

我最初安裝了 Microsoft.Toolkit.Forms.UI.XamlHost 的 6.0 版。 我卸載了那個版本,而是安裝了 5.1 版。

然后我將我的項目升級到使用.Net 4.6.2 或更高版本,並將 XAML 主機控件拖到為我工作的設計器上。

請注意,此站點https://github.com/dotnet/wpf/issues/1290似乎表明該問題已在以后的版本中得到解決,但我無法使這些問題正常工作。

暫無
暫無

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

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