【Infragistics教程】用WPF构建.NETCore3Apps-创新互联

【下载Infragistics Ultimate最新版本】

创新互联建站是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的10年时间我们累计服务了上千家以及全国政企客户,如主动防护网等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致称扬。

将WPF应用程序转换为 .NET Core 3

用 .NET Core 3 创建.NET Core WPF应用程序的第一步是安装 .NET Core 3 。

  • 首先安装 .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。

【Infragistics教程】用WPF构建.NET Core 3 Apps


当项目加载时,通过右键单击项目并选择“Unload Project”卸载项目。卸载项目后,再次右键单击该项目并选择“Edit myFirstCore3app.csproj”。

【Infragistics教程】用WPF构建.NET Core 3 Apps


通过选择所有文本(ctrl+a)并删除,删除csproj文件中的所有内容。现在,让我们添加新的SDK样式XML标记,并将项目转换为.NET Core3项目格式。

【Infragistics教程】用WPF构建.NET Core 3 Apps


重要事项:特别注意第10行。应用程序中的每个XAML文件都必须以页面形式手动添加到csproj文件中。否则,您将得到一个编译错误。

现在,让我们通过右键单击项目并选择“Reload Project”来重新加载项目。加载项目后,删除properties文件夹和app.config文件。您的项目应该如下所示:

【Infragistics教程】用WPF构建.NET Core 3 Apps


请注意,“xaml.cs”文件不再嵌套在其父级的下面。这是工具中的已知问题,将在.NET Core 3准备好进行RTM时解决。

请随意构建和运行该应用程序,以查看您的.NET Core 3 WPF应用程序正在运行。现在窗户是空的,但我们会修复的。

【Infragistics教程】用WPF构建.NET Core 3 Apps


添加Infragistics Ultimate UI for WPF

现在您的.NET Core 3 WPF应用程序已经启动并运行,让我们为它添加一个用于WPF控件的基础设施最终用户界面。我们将保持简单,只添加XamBusyIndicator。让我们使用nuget包管理器(右键单击项目并选择管理nuget包)将infraslogics.wpf nuget包添加到我们的项目中,或者在csproj文件中手动键入该包(右键单击项目并选择编辑myfirstcore3app.csproj)。我会手动添加,因为这样做很容易。

【Infragistics教程】用WPF构建.NET Core 3 Apps


现在,我们更新mainwindow.xaml以添加XamBusyIndicator控件的实例。很直接。添加一个名空间“xmlns:ig=”http://schemas.infragistics.com/xaml“,然后按如下方式定义控件。

【Infragistics教程】用WPF构建.NET Core 3 Apps


您会马上注意到您没有设计器支持,并且您的XAML文件中到处都有蓝色波形。这是意料之中的,因为.NET Core 3还没有任何设计器支持。

在XamBusyIndicator控件上设置一些属性,然后单击F5运行该应用程序。

【Infragistics教程】用WPF构建.NET Core 3 Apps


我们没有针对.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教程】用WPF构建.NET Core 3 Apps


现在尝试构建应用程序。例外!!!!!

【Infragistics教程】用WPF构建.NET Core 3 Apps


若要解决此问题,请在代码隐藏(mainwindow.xaml.cs)中使用简单的ump,并在代码中创建xamdiagram控件,然后将其添加到grid.children集合中。让我们通过给网格命名来稍微修改一下XAML,这样我们就可以在后面的代码中访问它,并添加一些列,这样我们也可以为图表控件放入工具箱。

【Infragistics教程】用WPF构建.NET Core 3 Apps


现在,跳到后面的代码,添加一个新的工具箱和XamDiagram控件。

【Infragistics教程】用WPF构建.NET Core 3 Apps


运行应用程序,现在它按预期工作。

【Infragistics教程】用WPF构建.NET Core 3 Apps

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前名称:【Infragistics教程】用WPF构建.NETCore3Apps-创新互联
链接分享:http://csdahua.cn/article/eghci.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流