|
SimpleWindow
|
框架元素类,提供数据上下文和绑定功能 更多...
#include <FrameworkElement.h>
Public 成员函数 | |
| bool | AddBinding (BindingBase *binding) |
| 添加绑定对象 | |
| bool | AddBinding (Binding *binding) |
| 添加绑定对象 | |
| bool | AddBinding (SelfBinding *binding) |
| 添加自绑定对象 | |
| bool | AddBinding (DataBinding *binding) |
| 添加绑定到DataContext的绑定对象 | |
| bool | RemoveBinding (FieldId propertyId) |
| 移除指定属性的绑定对象 | |
| template<typename T , typename TProperty > | |
| bool | RemoveBinding (TProperty T::*prop) |
| 移除指定属性的绑定对象 | |
| virtual Variant | GetTag () const override final |
| 获取Tag | |
| virtual void | SetTag (const Variant &tag) override final |
| 设置Tag | |
| virtual FrameworkElement * | GetParent () const =0 |
| 获取逻辑树中的父元素 | |
| virtual int | GetChildCount () const =0 |
| 获取逻辑树中的子元素数量 | |
| virtual FrameworkElement & | GetChildAt (int index) const =0 |
| 获取逻辑树中指定索引处的子元素 | |
Public 成员函数 继承自 sw::ObservableObject | |
| ObservableObject ()=default | |
| 默认构造函数 | |
| ObservableObject (const ObservableObject &)=delete | |
| 禁用拷贝构造 | |
| ObservableObject & | operator= (const ObservableObject &)=delete |
| 禁用拷贝赋值 | |
| ObservableObject (ObservableObject &&other) noexcept | |
| 移动构造函数 | |
| ObservableObject & | operator= (ObservableObject &&other) noexcept |
| 移动赋值运算符 | |
| virtual | ~ObservableObject () |
| 析构时触发对象销毁事件 | |
Public 成员函数 继承自 sw::DynamicObject | |
| DynamicObject () noexcept | |
| 默认构造函数 | |
| virtual | ~DynamicObject () |
| 析构函数 | |
| bool | IsBoxedObject () const noexcept |
| 判断对象是否为装箱对象 | |
| bool | ReferenceEquals (const DynamicObject &other) const noexcept |
| 判断与另一DynamicObject是否引用同一对象 | |
| std::type_index | GetType () const noexcept |
| 获取对象的类型信息 | |
| template<typename T > | |
| auto | IsType (T **pout=nullptr) -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value, bool >::type |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| auto | IsType (const T **pout=nullptr) const -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value, bool >::type |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| auto | DynamicCast () -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value, T & >::type |
| 将对象动态转换为指定类型的引用 | |
| template<typename T > | |
| auto | DynamicCast () const -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value, const T & >::type |
| 将对象动态转换为指定类型的常量引用 | |
| template<typename T > | |
| auto | UnsafeCast () -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value &&_IsStaticCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value &&!_IsStaticCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () const -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value &&_IsStaticCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () const -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value &&!_IsStaticCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | IsType (T **pout=nullptr) -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&_IsDynamicCastable< DynamicObject *, T * >::value, bool >::type |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| auto | IsType (T **pout=nullptr) -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&!_IsDynamicCastable< DynamicObject *, T * >::value, bool >::type |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| auto | IsType (const T **pout=nullptr) const -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&_IsDynamicCastable< DynamicObject *, T * >::value, bool >::type |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| auto | IsType (const T **pout=nullptr) const -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&!_IsDynamicCastable< DynamicObject *, T * >::value, bool >::type |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| auto | DynamicCast () -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&_IsDynamicCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象动态转换为指定类型的引用 | |
| template<typename T > | |
| auto | DynamicCast () -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&!_IsDynamicCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象动态转换为指定类型的引用 | |
| template<typename T > | |
| auto | DynamicCast () const -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&_IsDynamicCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象动态转换为指定类型的常量引用 | |
| template<typename T > | |
| auto | DynamicCast () const -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&!_IsDynamicCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象动态转换为指定类型的常量引用 | |
| template<typename T > | |
| auto | UnsafeCast () -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&_IsStaticCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&!_IsStaticCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () const -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&_IsStaticCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () const -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&!_IsStaticCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
Public 成员函数 继承自 sw::INotifyObjectDead | |
| virtual | ~INotifyObjectDead ()=default |
| 默认析构函数 | |
Public 成员函数 继承自 sw::INotifyPropertyChanged | |
| virtual | ~INotifyPropertyChanged ()=default |
| 默认析构函数 | |
Public 成员函数 继承自 sw::ITag< Variant > | |
| virtual | ~ITag ()=default |
| 默认虚析构函数 | |
| virtual void | SetTag (_OptimalParamType< Variant > tag)=0 |
| 设置Tag | |
Public 属性 | |
| const Event< DataContextChangedEventHandler > | DataContextChanged |
| 数据上下文改变时触发该事件 | |
| const Property< Variant > | Tag |
| 自定义数据标签,可用于存储任意用户数据 | |
| const Property< Variant > | DataContext |
| 数据上下文 | |
| const ReadOnlyProperty< DynamicObject * > | CurrentDataContext |
| 当前元素的有效数据上下文 | |
Public 属性 继承自 sw::INotifyObjectDead | |
| const Event< ObjectDeadEventHandler > | ObjectDead |
| 对象销毁时触发该事件 | |
Public 属性 继承自 sw::INotifyPropertyChanged | |
| const Event< PropertyChangedEventHandler > | PropertyChanged |
| 当属性值更改时触发的事件 | |
Protected 成员函数 | |
| FrameworkElement () | |
| 初始化FrameworkElement | |
| FrameworkElement (const FrameworkElement &)=delete | |
| FrameworkElement (FrameworkElement &&)=delete | |
| FrameworkElement & | operator= (const FrameworkElement &)=delete |
| FrameworkElement & | operator= (FrameworkElement &&)=delete |
| virtual void | OnTagChanged () |
| 当Tag更改时调用此函数 | |
| virtual void | OnCurrentDataContextChanged (DynamicObject *oldDataContext) |
| 当CurrentDataContext更改时调用此函数 | |
Protected 成员函数 继承自 sw::ObservableObject | |
| virtual PropertyChangedEventHandler & | GetPropertyChangedEventDelegate () override final |
| 获取属性更改事件委托的引用 | |
| virtual ObjectDeadEventHandler & | GetObjectDeadEventDelegate () override final |
| 获取对象销毁事件委托的引用 | |
| void | RaisePropertyChanged (FieldId propertyId) |
| 触发属性更改通知事件 | |
| template<typename T , typename TProperty > | |
| void | RaisePropertyChanged (TProperty T::*property) |
| 触发属性更改通知事件 | |
框架元素类,提供数据上下文和绑定功能
添加绑定对象
| bool sw::FrameworkElement::AddBinding | ( | BindingBase * | binding | ) |
添加绑定对象
| bool sw::FrameworkElement::AddBinding | ( | DataBinding * | binding | ) |
添加绑定到DataContext的绑定对象
| bool sw::FrameworkElement::AddBinding | ( | SelfBinding * | binding | ) |
添加自绑定对象
|
pure virtual |
获取逻辑树中指定索引处的子元素
| index | 子元素索引 |
| std::out_of_range | 如果索引超出范围 |
在 sw::WndBase, sw::MenuItem , 以及 sw::UIElement 内被实现.
|
pure virtual |
获取Tag
实现了 sw::ITag< Variant >.
|
protectedvirtual |
当CurrentDataContext更改时调用此函数
| oldDataContext | 旧的数据上下文值 |
当Tag更改时调用此函数
被 sw::MenuItem 重载.
移除指定属性的绑定对象
| const ReadOnlyProperty<DynamicObject *> sw::FrameworkElement::CurrentDataContext |
当前元素的有效数据上下文
数据上下文