【Infragistics教程】用Infragistics Ultimate UI for WPF 構建.NET Core 3 Apps

【下載Infragistics Ultimate最新版本】git

將WPF應用程序轉換爲 .NET Core 3 

用 .NET Core 3 建立.NET Core WPF應用程序的第一步是安裝 .NET Core 3 。github

  • 首先安裝 .NET Core運行時和主機安裝程序(若是還沒有安裝):https://github.com/dotnet/core-setup
  • 接下來,您將要安裝最新的.NET Core 3 SDK(在master 3.0.x運行時標題下選擇平臺的安裝程序):https://github.com/dotnet/core-sdk

打開Visual Studio 2017,建立一個新的WPF應用程序,並將其命名爲MyFirstCore3App。app

Infragistics

當項目加載時,經過右鍵單擊項目並選擇「Unload Project」卸載項目。卸載項目後,再次右鍵單擊該項目並選擇「Edit myFirstCore3app.csproj」。less

Infragistics

經過選擇全部文本(ctrl+a)並刪除,刪除csproj文件中的全部內容。如今,讓咱們添加新的SDK樣式XML標記,並將項目轉換爲.NET Core3項目格式。工具

Infragistics

重要事項:特別注意第10行。應用程序中的每一個XAML文件都必須以頁面形式手動添加到csproj文件中。不然,您將獲得一個編譯錯誤。ui

如今,讓咱們經過右鍵單擊項目並選擇「Reload Project」來從新加載項目。加載項目後,刪除properties文件夾和app.config文件。您的項目應該以下所示:spa

Infragistics

請注意,「xaml.cs」文件再也不嵌套在其父級的下面。這是工具中的已知問題,將在.NET Core 3準備好進行RTM時解決。設計

請隨意構建和運行該應用程序,以查看您的.NET Core 3 WPF應用程序正在運行。如今窗戶是空的,但咱們會修復的。3d

Infragistics

添加Infragistics Ultimate UI for WPF

如今您的.NET Core 3 WPF應用程序已經啓動並運行,讓咱們爲它添加一個用於WPF控件的基礎設施最終用戶界面。咱們將保持簡單,只添加XamBusyIndicator。讓咱們使用nuget包管理器(右鍵單擊項目並選擇管理nuget包)將infraslogics.wpf nuget包添加到咱們的項目中,或者在csproj文件中手動鍵入該包(右鍵單擊項目並選擇編輯myfirstcore3app.csproj)。我會手動添加,由於這樣作很容易。xml

Infragistics

如今,咱們更新mainwindow.xaml以添加XamBusyIndicator控件的實例。很直接。添加一個名空間「xmlns:ig=」http://schemas.infragistics.com/xaml「,而後按以下方式定義控件。

Infragistics

您會立刻注意到您沒有設計器支持,而且您的XAML文件中處處都有藍色波形。這是意料之中的,由於.NET Core 3尚未任何設計器支持。

在XamBusyIndicator控件上設置一些屬性,而後單擊F5運行該應用程序。

Infragistics

咱們沒有針對.NET Core 3的任何特殊版本。目前,能夠在.NET Core 3應用程序中使用.NET 4.5控件。所以,這意味着,您仍然能夠在.NET Core3應用程序中使用現有的基礎設施終極UI來實現WPF控件,而不須要進行任何實際更改。可是,您可能會遇到一些問題,將在下一步討論。

已知問題

因爲.NET Core 3處於很是早的預覽狀態,這意味着不少事情沒法按您的要求進行。雖然Microsoft.NET核心團隊正在努力解決這些問題,但您必定會時不時地發現gremlins。

您將遇到的最大和最多見的問題是如下生成錯誤:

Error MC1000: Unknown build error, 'Inheritance security rules violated by type: [Control Name]. Derived types must either match the security accessibility of the base type or be less accessible.

若是遇到此錯誤,thi必須在代碼隱藏中定義控件,並在運行時將其添加到可視化樹中。

讓咱們以XamDiagram控件爲例:

添加對「infragistics.wpf.diagram」nuget包的引用,而後更新mainpage.xaml,使其看起來像這樣。

Infragistics

如今嘗試構建應用程序。例外!!!!!

Infragistics

若要解決此問題,請在代碼隱藏(mainwindow.xaml.cs)中使用簡單的ump,並在代碼中建立xamdiagram控件,而後將其添加到grid.children集合中。讓咱們經過給網格命名來稍微修改一下XAML,這樣咱們就能夠在後面的代碼中訪問它,並添加一些列,這樣咱們也能夠爲圖表控件放入工具箱。

Infragistics

如今,跳到後面的代碼,添加一個新的工具箱和XamDiagram控件。

Infragistics

運行應用程序,如今它按預期工做。

Infragistics

相關文章
相關標籤/搜索