在UWP应用程序中使用WPF dll

我正在编写一个UWP应用程序,由于某种原因,我无法引用PresentationFramework.dll 。 它包含我想要使用的一些WPF控件(特别是System.Windows.Controls.DataGrid ,但它们在参考管理器中的Universal Windows >> Extensions下不可用。为什么会这样,我该如何修复它?

TL; DR:您不能在UWP中使用WPF控件。

WPF和UWP是两个完全不同的API,具有不同的.NET框架。 虽然WPF可以访问完整的.NET Framework,但UWP具有更加有限的API。 如果你想在不同的平台和编译器上阅读更多内容,这篇msdn博客文章是一个很好的切入点。

在此处输入图像描述

因此,您无法添加任何标准dll作为UWP应用程序的参考。 如果要在WPF和UWP之间共享代码,则必须使用可移植类库 ,在该中定位所需的平台。

在此处输入图像描述

由于WPF和UWP的XAML命名空间也不同,因此您将找不到许多便携式控件。 因此,对于UWP开发,您需要使用UWP控件(相当于其WPF对应项)。 额外提示:如果你正在寻找第三方控件,你也可以寻找’winrt’控件,因为winrt用于Windows 8 / 8.1,但它是相同的技术。