我正在写一个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,但它是相同的技术.