Skip to content

WinUI 3 WinRT 命名空间基础

Windows app sdk API 较多比较混乱,本文旨在理清相关的 WinRT 命名空间的基础知识,帮助开发者更好地理解 WinUI 3 的 API。

继承关系

基本继承链

IUnknown (Win32 COM ABI defined in unknwn.h) / Windows.Foundation.IUnkown (WinRT Interface wrapper for Win32) -> IInspectable (Win32 COM ABI defined in inspectable.h) / Windows.Foundation.IInspectable (WinRT Interface wrapper for Win32) -> Microsoft.UI.Xaml.DependencyObject -> Microsoft.UI.Xaml.UIElement -> Microsoft.UI.Xaml.FrameworkElement -> ( ... )

描述

DependencyObject 类在其许多派生类上启用依赖属性系统服务,并且是许多重要 UI 相关类(如 UIElementGeometryFrameworkTemplateStyleResourceDictionary)的直接基类。对象通过声明实现此类来参与依赖属性系统,这将允许对象在运行时注册依赖属性到依赖属性系统。

依赖属性系统的主要功能是计算属性值,并提供有关已更改的值的系统通知。参与依赖属性系统的另一个关键类是 DependencyPropertyDependencyProperty 允许将依赖属性注册到属性系统中,而 DependencyObject 作为基类,实现了 DependencyObject 基类的对象可以使用和设置依赖属性。

DependencyObject 是多个派生类的直接父类,这些类是应用程序和 XAML UI 编程模型的基础。下面是一些值得注意的派生类: