vault backup: 2025-08-26 17:53:04
This commit is contained in:
@@ -102,6 +102,8 @@ ViewModels管理器位于:Window -> ViewModels。
|
||||
- 默认不创建,需要业务自己调用SetViewModel来关联
|
||||
- 可以手动把同一个ViewModel绑定到个Widget中
|
||||
|
||||
**默认是Optional,其他方式必须在Widget启动前设置好AddViewModelInstance()**
|
||||
|
||||
### Create Instance (一对一)
|
||||
- 在界面Construct时候会创建一个新的ViewModel
|
||||
- 每个界面实例都是单独的ViewModel
|
||||
@@ -151,10 +153,10 @@ Note:这里注意,AddViewModel必须提供ContextName,UE要求此名称必
|
||||
3. 使用ViweBinding(Window→ViewBindings)
|
||||
|
||||
![[UMG_MVVM_ViewBindings.jpg|800]]绑定方向
|
||||
OneTimeToWidget(←1):VM到控件,执行一次。
|
||||
OneWayToWidget: VM到V,每次刷新都会通知
|
||||
OneWayToViewModel :V到VM, 每次通知到VM,典型案例:编辑文本或图形选项,按钮需要自己包裹一下(**研究下给个合理方式**)
|
||||
TwoWay:绑定在两个方向都可用,可以相互通知,不用担心陷入死循环,MVVMModelBase中的SetFunc,已经做好了处理,只有值不等才会Boradcast
|
||||
- OneTimeToWidget(←1):VM到控件,执行一次。
|
||||
- OneWayToWidget: VM到V,每次刷新都会通知
|
||||
- OneWayToViewModel :V到VM, 每次通知到VM,典型案例:编辑文本或图形选项,按钮需要自己包裹一下(**研究下给个合理方式**)
|
||||
- TwoWay:绑定在两个方向都可用,可以相互通知,不用担心陷入死循环,MVVMModelBase中的SetFunc,已经做好了处理,只有值不等才会Boradcast
|
||||
|
||||
### Conversion Function
|
||||
何时使用?
|
||||
@@ -183,5 +185,6 @@ TwoWay:绑定在两个方向都可用,可以相互通知,不用担心陷入
|
||||
|
||||
![[UMG_MVVM_DisableDetailsBinding_Result.jpg]]
|
||||
|
||||
# INotifyFieldValueChanged
|
||||
|
||||
# 在角色类中使用方式
|
||||
![[UMG_MVVM_UseInCharacter.png]]
|
||||
之后给ViewModel写入数据就可以了。
|
Reference in New Issue
Block a user