From c83ed48176b6ea3593183fe38f2bec4b052fbe7a Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Tue, 26 Aug 2025 17:53:04 +0800 Subject: [PATCH] vault backup: 2025-08-26 17:53:04 --- 03-UnrealEngine/UI/UE5 MVVM 笔记.md | 15 +++++++++------ .../ImageBag/UMG/MVVM/UMG_MVVM_UseInCharacter.png | 3 +++ 2 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 08-Assets/Images/ImageBag/UMG/MVVM/UMG_MVVM_UseInCharacter.png diff --git a/03-UnrealEngine/UI/UE5 MVVM 笔记.md b/03-UnrealEngine/UI/UE5 MVVM 笔记.md index d8d51a2..d00143f 100644 --- a/03-UnrealEngine/UI/UE5 MVVM 笔记.md +++ b/03-UnrealEngine/UI/UE5 MVVM 笔记.md @@ -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 - \ No newline at end of file +# 在角色类中使用方式 +![[UMG_MVVM_UseInCharacter.png]] +之后给ViewModel写入数据就可以了。 \ No newline at end of file diff --git a/08-Assets/Images/ImageBag/UMG/MVVM/UMG_MVVM_UseInCharacter.png b/08-Assets/Images/ImageBag/UMG/MVVM/UMG_MVVM_UseInCharacter.png new file mode 100644 index 0000000..67e49bf --- /dev/null +++ b/08-Assets/Images/ImageBag/UMG/MVVM/UMG_MVVM_UseInCharacter.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d79ef78f619366988b6e2b3936888b451a27e3a2084722054949183edb33929 +size 652675