【发布时间】:2017-04-08 08:20:44
【问题描述】:
装饰器如何在 UWP 应用中实现?如果它们的实现方式与标准 WPF 中的相同,那么应该使用什么命名空间/程序集?
【问题讨论】:
-
你是指WPF中的Adorner framework吗?
-
类似的东西是的。 WPF Adorner 框架使用了我在 UWP 应用中找不到的命名空间。
装饰器如何在 UWP 应用中实现?如果它们的实现方式与标准 WPF 中的相同,那么应该使用什么命名空间/程序集?
【问题讨论】:
Adorners 未在 UWP 中实现。
Adorner 是绑定到UIElement 的自定义FrameworkElement。装饰器在AdornerLayer 中渲染,这是一个始终位于装饰元素或装饰元素集合之上的渲染表面。装饰器的渲染独立于装饰器绑定到的UIElement 的渲染。装饰器通常使用位于被装饰元素左上角的标准二维坐标原点相对于它所绑定的元素进行定位。
但是,AdornerLayer 在 UWP 中不存在,我们不能在 UWP 应用中使用Adorner。 UWP 中的另一种方法可能是使用Popup。 Popup 是一个通用容器,用于在现有内容之上托管 UIElements。与Adorner 类似,Popup 在 PopupRoot 中呈现,这是一个始终位于其他元素之上的层。
更多信息,请参阅An alternative way to create Adorner Layers in Windows 8 App。虽然本文是针对 Windows 8 应用编写的,但它也应该适用于 UWP 应用。
【讨论】: