使用.Net Core开发WPF App系列教程( 三、与.Net Framework的区别) 使用.Net Core开发WPF App系列教程

使用.Net Core开发WPF App系列教程( 三、与.Net Framework的区别)
使用.Net Core开发WPF App系列教程

基础知识


一、.Net Core和WPF介绍

二、在Visual Studio 2019中创建.Net Core WPF工程

三、与.Net Framework的区别

四、WPF中的XAML

五、WPF中的布局

六、WPF中的常用控件(上)

七、WPF中的常用控件(下)

八、WPF中的绑定

九、WPF中的命令

十、WPF中和属性

十一、WPF中的事件

十二、WPF中的资源 

十三、WPF中的样式与模板

十四、WPF中的动画

控件及窗体窗体美化


十五、CheckBox样式

十六、ComboBox样式

十七、ListBox样式

十八、ListView样式

十九、Menu样式

二十、ScrollViewer样式

二十一、Seperator样式

二十二、Slider样式

二十三、TextBox样式

二十四、TreeView样式

二十五、使用WindowsChrome美化窗体

二十六、实现动态窗体

二十七、实现半透明窗体

二十八、一个简单的换肤实例

三方控件


二十九、开源控件库MahApps.Metro介绍 

三十、开源控件库MUI介绍

三十一、开源控件库Fluent.Ribbon介绍

三十二、开源控件库Xceed Wpftoolkit介绍

MVVM


三十三、MVVM介绍

三十四、MVVM基本使用

三十四、MVVM进阶使用

三十五、Mvvmlight框架介绍及使用

三十六、Prism框架介绍及使用

其它


三十七、保存控件内容为图片


SDK样式项目

新建一个WPF工程,对比.Net Framework和.Net Core的项目文件

.Net Frameworkcsproj文件中,可以看到记录了很多信息。

.Net Corecsproj中,只看到很少的记录信息。默认的设置已经不再显示了,如输出路径,平台等。

组件的引用已经默认包含在"Microsoft.NET.Sdk.WindowsDesktop"SDK中了。这种在项目文件中的 <Project> 元素中包含了SDK 属性的就称为SDK样式的项目文件(SDK-style projects)

使用.Net Core开发WPF App系列教程( 三、与.Net Framework的区别)
使用.Net Core开发WPF App系列教程

使用.Net Core开发WPF App系列教程( 三、与.Net Framework的区别)
使用.Net Core开发WPF App系列教程

Nuget包引用 

创建一个.Net Framework WPF工程和.Net Core WPF工程,同时引用 BlurWindowMongoDB.Driver包。可以看到

在.Net Framework中,Nuget包引用是通过packages.config文件来记录,且会在文件中列出每一个引用的组件

使用.Net Core开发WPF App系列教程( 三、与.Net Framework的区别)
使用.Net Core开发WPF App系列教程

而在.Net Core中,是直接记录在项目工程文件(.csproj)里,并且是以包引用(PackageReference)的形式记录,更加简洁。

使用.Net Core开发WPF App系列教程( 三、与.Net Framework的区别)
使用.Net Core开发WPF App系列教程

说明:

1、从Visual Studio 2017 Version 15.7版本开始,支持从packages.config转换到PackageReference

转换方法如下:

packages.config上右键 ,选择【将 packages.config迁移到PackageReference】

使用.Net Core开发WPF App系列教程( 三、与.Net Framework的区别)
使用.Net Core开发WPF App系列教程

转换完成后,packages.config文件被删除,引用的Nuget包会被记录在项目工程文件(.csproj)里。

当我们把WPF程序从.Net Framework迁移到.Net Core时,就需要进行以上操作。

2、.Net Core WPF项目工程文件(.csproj)中不再记录当前项目包含的文件。通过检测项目工程文件路径下的文件来进行自动添加。

使用.Net Core开发WPF App系列教程( 三、与.Net Framework的区别)
使用.Net Core开发WPF App系列教程

代码访问安全性(CAS)

.NET Framework提供了一种机制,用于对在同一应用程序中运行的不同代码实施不同级别的信任,称为代码访问安全性(CAS)

在.Net Core中,不再支持Code Access Security(CAS)代码访问安全性功能。

这个功能平常用得少,这里不作详细介绍,可以在推荐阅读中找到介绍CAS的链接进行了解。

推荐阅读

https://docs.microsoft.com/en-us/dotnet/desktop-wpf/migration/differences-from-net-framework

https://docs.microsoft.com/en-us/dotnet/framework/misc/code-access-security

https://docs.microsoft.com/en-us/dotnet/core/tools/csproj

https://docs.microsoft.com/en-us/nuget/consume-packages/migrate-packages-config-to-package-reference

https://docs.microsoft.com/en-us/nuget/resources/check-project-format