vault backup: 2025-08-26 17:53:04

This commit is contained in:
2025-08-26 17:53:04 +08:00
parent cec50501f5
commit c83ed48176
2 changed files with 12 additions and 6 deletions

View File

@@ -102,6 +102,8 @@ ViewModels管理器位于Window -> ViewModels。
- 默认不创建需要业务自己调用SetViewModel来关联
- 可以手动把同一个ViewModel绑定到个Widget中
**默认是Optional其他方式必须在Widget启动前设置好AddViewModelInstance()**
### Create Instance (一对一)
- 在界面Construct时候会创建一个新的ViewModel
- 每个界面实例都是单独的ViewModel
@@ -151,10 +153,10 @@ Note这里注意AddViewModel必须提供ContextNameUE要求此名称必
3. 使用ViweBindingWindow→ViewBindings
![[UMG_MVVM_ViewBindings.jpg|800]]绑定方向
OneTimeToWidget←1VM到控件执行一次。
OneWayToWidget: VM到V每次刷新都会通知
OneWayToViewModel :V到VM, 每次通知到VM,典型案例:编辑文本或图形选项,按钮需要自己包裹一下(**研究下给个合理方式**
TwoWay:绑定在两个方向都可用可以相互通知不用担心陷入死循环MVVMModelBase中的SetFunc已经做好了处理只有值不等才会Boradcast
- OneTimeToWidget←1VM到控件执行一次。
- 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写入数据就可以了。

Binary file not shown.