溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps

發(fā)布時(shí)間:2020-06-17 15:37:17 來源:網(wǎng)絡(luò) 閱讀:943 作者:復(fù)活節(jié)玩偶 欄目:編程語言

【下載Infragistics Ultimate最新版本】

將WPF應(yīng)用程序轉(zhuǎn)換為 .NET Core 3 

用 .NET Core 3 創(chuàng)建.NET Core WPF應(yīng)用程序的第一步是安裝 .NET Core 3 。

  • 首先安裝 .NET Core運(yùn)行時(shí)和主機(jī)安裝程序(如果尚未安裝):https://github.com/dotnet/core-setup

  • 接下來,您將要安裝最新的.NET Core 3 SDK(在master 3.0.x運(yùn)行時(shí)標(biāo)題下選擇平臺的安裝程序):https://github.com/dotnet/core-sdk

打開Visual Studio 2017,創(chuàng)建一個(gè)新的WPF應(yīng)用程序,并將其命名為MyFirstCore3App。

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps

當(dāng)項(xiàng)目加載時(shí),通過右鍵單擊項(xiàng)目并選擇“Unload Project”卸載項(xiàng)目。卸載項(xiàng)目后,再次右鍵單擊該項(xiàng)目并選擇“Edit myFirstCore3app.csproj”。

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps

通過選擇所有文本(ctrl+a)并刪除,刪除csproj文件中的所有內(nèi)容?,F(xiàn)在,讓我們添加新的SDK樣式XML標(biāo)記,并將項(xiàng)目轉(zhuǎn)換為.NET Core3項(xiàng)目格式。

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps

重要事項(xiàng):特別注意第10行。應(yīng)用程序中的每個(gè)XAML文件都必須以頁面形式手動添加到csproj文件中。否則,您將得到一個(gè)編譯錯(cuò)誤。

現(xiàn)在,讓我們通過右鍵單擊項(xiàng)目并選擇“Reload Project”來重新加載項(xiàng)目。加載項(xiàng)目后,刪除properties文件夾和app.config文件。您的項(xiàng)目應(yīng)該如下所示:

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps

請注意,“xaml.cs”文件不再嵌套在其父級的下面。這是工具中的已知問題,將在.NET Core 3準(zhǔn)備好進(jìn)行RTM時(shí)解決。

請隨意構(gòu)建和運(yùn)行該應(yīng)用程序,以查看您的.NET Core 3 WPF應(yīng)用程序正在運(yùn)行。現(xiàn)在窗戶是空的,但我們會修復(fù)的。

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps

添加Infragistics Ultimate UI for WPF

現(xiàn)在您的.NET Core 3 WPF應(yīng)用程序已經(jīng)啟動并運(yùn)行,讓我們?yōu)樗砑右粋€(gè)用于WPF控件的基礎(chǔ)設(shè)施最終用戶界面。我們將保持簡單,只添加XamBusyIndicator。讓我們使用nuget包管理器(右鍵單擊項(xiàng)目并選擇管理nuget包)將infraslogics.wpf nuget包添加到我們的項(xiàng)目中,或者在csproj文件中手動鍵入該包(右鍵單擊項(xiàng)目并選擇編輯myfirstcore3app.csproj)。我會手動添加,因?yàn)檫@樣做很容易。

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps

現(xiàn)在,我們更新mainwindow.xaml以添加XamBusyIndicator控件的實(shí)例。很直接。添加一個(gè)名空間“xmlns:ig=”http://schemas.infragistics.com/xaml“,然后按如下方式定義控件。

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps

您會馬上注意到您沒有設(shè)計(jì)器支持,并且您的XAML文件中到處都有藍(lán)色波形。這是意料之中的,因?yàn)?NET Core 3還沒有任何設(shè)計(jì)器支持。

在XamBusyIndicator控件上設(shè)置一些屬性,然后單擊F5運(yùn)行該應(yīng)用程序。

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps

我們沒有針對.NET Core 3的任何特殊版本。目前,可以在.NET Core 3應(yīng)用程序中使用.NET 4.5控件。因此,這意味著,您仍然可以在.NET Core3應(yīng)用程序中使用現(xiàn)有的基礎(chǔ)設(shè)施終極UI來實(shí)現(xiàn)WPF控件,而不需要進(jìn)行任何實(shí)際更改。但是,您可能會遇到一些問題,將在下一步討論。

已知問題

由于.NET Core 3處于非常早的預(yù)覽狀態(tài),這意味著很多事情無法按您的要求進(jìn)行。雖然Microsoft.NET核心團(tuán)隊(duì)正在努力解決這些問題,但您一定會時(shí)不時(shí)地發(fā)現(xiàn)gremlins。

您將遇到的最大和最常見的問題是以下生成錯(cuò)誤:

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.

如果遇到此錯(cuò)誤,thi必須在代碼隱藏中定義控件,并在運(yùn)行時(shí)將其添加到可視化樹中。

讓我們以XamDiagram控件為例:

添加對“infragistics.wpf.diagram”nuget包的引用,然后更新mainpage.xaml,使其看起來像這樣。

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps

現(xiàn)在嘗試構(gòu)建應(yīng)用程序。例外!?。。。?/p>

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps

若要解決此問題,請?jiān)诖a隱藏(mainwindow.xaml.cs)中使用簡單的ump,并在代碼中創(chuàng)建xamdiagram控件,然后將其添加到grid.children集合中。讓我們通過給網(wǎng)格命名來稍微修改一下XAML,這樣我們就可以在后面的代碼中訪問它,并添加一些列,這樣我們也可以為圖表控件放入工具箱。

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps

現(xiàn)在,跳到后面的代碼,添加一個(gè)新的工具箱和XamDiagram控件。

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps

運(yùn)行應(yīng)用程序,現(xiàn)在它按預(yù)期工作。

【Infragistics教程】用WPF構(gòu)建.NET Core 3 Apps


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI