SimpleWindow
载入中...
搜索中...
未找到
sw::DataBinding类 参考final

数据绑定,用于UI元素与DataContext之间的属性绑定 更多...

#include <DataBinding.h>

类 sw::DataBinding 继承关系图:
sw::BindingBase

Public 成员函数

virtual ~DataBinding ()
 析构函数
 
virtual bool UpdateTarget () override
 更新目标属性的值
 
virtual bool UpdateSource () override
 更新源属性的值
 
virtual FieldId GetTargetPropertyId () const override
 获取目标属性ID
 
virtual FieldId GetSourcePropertyId () const override
 获取源属性ID
 
UIElementGetTargetElement () const
 获取目标元素
 
void SetTargetElement (UIElement *element)
 设置目标元素
 
- Public 成员函数 继承自 sw::BindingBase
virtual ~BindingBase ()=default
 默认析构函数
 

静态 Public 成员函数

static DataBindingCreate (UIElement *targetElement, Binding *binding)
 创建数据绑定对象
 
template<typename TTargetObject , typename TTargetProperty , typename TSourceObject , typename TSourceProperty >
static auto Create (TTargetProperty TTargetObject::*targetProperty, TSourceProperty TSourceObject::*sourceProperty, BindingMode mode, IValueConverter< typename TSourceProperty::TValue, typename TTargetProperty::TValue > *converter=nullptr) -> typename std::enable_if< _IsProperty< TTargetProperty >::value &&_IsProperty< TSourceProperty >::value &&std::is_base_of< DynamicObject, TTargetObject >::value &&std::is_base_of< DynamicObject, TSourceObject >::value &&std::is_same< typename TTargetProperty::TValue, typename TSourceProperty::TValue >::value, DataBinding * >::type
 创建数据绑定对象
 
template<typename TTargetObject , typename TTargetProperty , typename TSourceObject , typename TSourceProperty >
static auto Create (TTargetProperty TTargetObject::*targetProperty, TSourceProperty TSourceObject::*sourceProperty, BindingMode mode, IValueConverter< typename TSourceProperty::TValue, typename TTargetProperty::TValue > *converter) -> typename std::enable_if< _IsProperty< TTargetProperty >::value &&_IsProperty< TSourceProperty >::value &&std::is_base_of< DynamicObject, TTargetObject >::value &&std::is_base_of< DynamicObject, TSourceObject >::value &&!std::is_same< typename TTargetProperty::TValue, typename TSourceProperty::TValue >::value, DataBinding * >::type
 创建数据绑定对象
 

详细描述

数据绑定,用于UI元素与DataContext之间的属性绑定

成员函数说明

◆ Create() [1/3]

template<typename TTargetObject , typename TTargetProperty , typename TSourceObject , typename TSourceProperty >
static auto sw::DataBinding::Create ( TTargetProperty TTargetObject::*  targetProperty,
TSourceProperty TSourceObject::*  sourceProperty,
BindingMode  mode,
IValueConverter< typename TSourceProperty::TValue, typename TTargetProperty::TValue > *  converter 
) -> typename std::enable_if< _IsProperty<TTargetProperty>::value && _IsProperty<TSourceProperty>::value && std::is_base_of<DynamicObject, TTargetObject>::value && std::is_base_of<DynamicObject, TSourceObject>::value && !std::is_same<typename TTargetProperty::TValue, typename TSourceProperty::TValue>::value, DataBinding *>::type
inlinestatic

创建数据绑定对象

参数
targetProperty目标属性成员指针
sourceProperty源属性成员指针
mode绑定模式
converter值转换器指针
返回
绑定对象指针
注解
转换器的生命周期将由绑定对象管理,请勿与其他对象共享

◆ Create() [2/3]

template<typename TTargetObject , typename TTargetProperty , typename TSourceObject , typename TSourceProperty >
static auto sw::DataBinding::Create ( TTargetProperty TTargetObject::*  targetProperty,
TSourceProperty TSourceObject::*  sourceProperty,
BindingMode  mode,
IValueConverter< typename TSourceProperty::TValue, typename TTargetProperty::TValue > *  converter = nullptr 
) -> typename std::enable_if< _IsProperty<TTargetProperty>::value && _IsProperty<TSourceProperty>::value && std::is_base_of<DynamicObject, TTargetObject>::value && std::is_base_of<DynamicObject, TSourceObject>::value && std::is_same<typename TTargetProperty::TValue, typename TSourceProperty::TValue>::value, DataBinding *>::type
inlinestatic

创建数据绑定对象

参数
targetProperty目标属性成员指针
sourceProperty源属性成员指针
mode绑定模式
converter值转换器指针
返回
绑定对象指针
注解
转换器的生命周期将由绑定对象管理,请勿与其他对象共享

◆ Create() [3/3]

static DataBinding * sw::DataBinding::Create ( UIElement targetElement,
Binding binding 
)
inlinestatic

创建数据绑定对象

参数
targetElement目标元素
binding内部绑定对象
返回
绑定对象指针
注解
绑定对象不能为nullptr,其生命周期将由DataBinding管理,请勿与其他对象共享

◆ GetSourcePropertyId()

virtual FieldId sw::DataBinding::GetSourcePropertyId ( ) const
inlineoverridevirtual

获取源属性ID

实现了 sw::BindingBase.

◆ GetTargetElement()

UIElement * sw::DataBinding::GetTargetElement ( ) const
inline

获取目标元素

返回
目标元素指针

◆ GetTargetPropertyId()

virtual FieldId sw::DataBinding::GetTargetPropertyId ( ) const
inlineoverridevirtual

获取目标属性ID

实现了 sw::BindingBase.

◆ SetTargetElement()

void sw::DataBinding::SetTargetElement ( UIElement element)
inline

设置目标元素

参数
element目标元素指针

◆ UpdateSource()

virtual bool sw::DataBinding::UpdateSource ( )
inlineoverridevirtual

更新源属性的值

返回
如果更新成功则返回true,否则返回false

实现了 sw::BindingBase.

◆ UpdateTarget()

virtual bool sw::DataBinding::UpdateTarget ( )
inlineoverridevirtual

更新目标属性的值

返回
如果更新成功则返回true,否则返回false

实现了 sw::BindingBase.


该类的文档由以下文件生成: