【问题标题】:Common controls for UWP and WPFUWP 和 WPF 的常用控件
【发布时间】:2018-06-13 16:04:33
【问题描述】:

是否可以创建可用于 UWP 和 WPF 应用程序的通用控件?

尝试挖掘 .NET 并发现可以使用 .NET Standard 在它们之间共享代码,但是 XAML 控件/UI 呢?

【问题讨论】:

  • XAML Standard,但我不知道它的当前状态。一种一直有效的方法是让两个库项目具有不同的目标平台,但有一个共同的代码库。对于每个平台必须不同的代码部分可以放入部分类中。我在XAML Map Control 中成功地采用了这种方法。
  • 对于在 Win10 操作系统上运行的 WPF 应用程序,您可以查看 XAML 岛 (docs.microsoft.com/en-us/windows/uwp/xaml-platform/…)。它允许 UWP 控件托管在 WPF 中。

标签: c# wpf uwp


【解决方案1】:

您不能直接在 UWP 应用中使用 WPF 控件,因为 WPF XAML 的许多功能在 UWP 中尚不可用。因此,此处不提供直接向前兼容性。即便如此,将现有的 WPF 控件升级到 UWP 应该不会太难,通常只需要重写 XAML 的某些部分,但它们背后的实际业务逻辑可以 1:1 移植,因为大部分都被 .NET Standard 覆盖。

但是,在 Build 2018 中,Microsoft 宣布了 UWP XAML Islands 功能,这将允许开发人员将 WPF 应用的 UI 升级为现代 UWP 设计,包括 Fluent Design System 功能。在不久的将来,一旦 API 准备就绪,您将能够使用所有 UWP 控件(包括自定义)执行此操作,但目前您至少可以在 WPF 中使用现代 UWP WebView 控件,即Windows Community Toolkit 的一部分。

【讨论】:

    猜你喜欢
    • 2018-07-10
    • 1970-01-01
    • 2019-02-18
    • 2018-10-22
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 2018-03-14
    相关资源
    最近更新 更多