如何在MVVM Light中调用另一个视图模型构造函数

山药

我有一种验证用户登录名的方法。如果用户正确登录,我想调用两个视图模型构造函数,以防万一用户登录。下面是我的示例代码。实现这一目标的最佳方法是什么?

发送视图模型:

        if (UserName == userName && Password == password)
        {
            ProjectManager.Instance.IsAdmin = true;
            isLoggedIn = true;
            IsLoggedIn = true;
            ValidLoginImage();
            LoginStatus = "Admin Logged In";
            MessengerInstance.Send(true);

        }

接收视图模型:

    private void RegisterForMessages()
    {
        MessengerInstance.Register<bool>(this, UpdateEnabled);
    }

    private void UpdateEnabled(bool b)
    {
        IsLoggedIn = b;
    }

registerformessage方法永远不会被调用。

狄奥多西·冯·里奇霍芬

由于您已经在使用MvvmLight,所以我只发送一条消息,其中包含一个布尔值,该布尔值调用视图模型中的方法来对其进行更新。在需要更新的视图模型中注册消息。然后它将等待“确定,我已登录”布尔值,然后运行一些更新IsEnabled属性的方法。将其放在需要更新的视图模型中:

/// <summary>
        /// Listen for messages from other ViewModels
        /// </summary>
        private void RegisterForMessages()
        {
            MessengerInstance.Register<bool>(this, UpdateMyStuff);
        }

private void UpdateMyStuff(bool b)
        {
            IsEnabled=b;
        }

然后在用户使用以下命令登录时发送消息:

//在这里成功登录代码...

MessengerInstance.Send(true);  //or your IsLoggedIn property

如果此视图已注销或其他原因,则可以发送false。

这将使您的视图模型知道用户是否已登录的状态,并允许您进行相应的更新。显然,您需要确保实现INotifyPropertyChanged等。这已经是MVVMLight的全部了。如果您的视图模型实现了MvvmLight的ViewModelBase,它将已经为您准备就绪。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从没有构造函数的另一个类中调用方法

来自分类Dev

在 Django 中,如何使用基于函数的视图中的另一个模型数据

来自分类Dev

如何在 Java 中从另一个构造函数调用一个构造函数?(初学者示例)

来自分类Dev

如何在JavaScript中的另一个函数中调用一个函数

来自分类Dev

如何在MVVM Light Toolkit中从另一个ViewModel中的ViewModel中设置属性

来自分类Dev

如何为另一个构造函数调用的构造函数提供参数?

来自分类Dev

在烧瓶中,如何在另一个视图中从另一个函数/路由调用数据,如下所述

来自分类Dev

在烧瓶中,如何在另一个视图中从另一个函数/路由调用数据,如下所述

来自分类Dev

如何在VBA中的另一个函数内调用一个函数?

来自分类Dev

如何在另一个函数中调用一个函数

来自分类Dev

如何在另一个函数中调用一个reduce函数

来自分类Dev

如何在另一个视图控制器中调用另一个方法?

来自分类Dev

如何在单独的文件中从另一个视图调用主干视图功能

来自分类Dev

如何在烧瓶中调用一个函数到另一个

来自分类Dev

如何从Knockout中的另一个视图模型更新视图模型数据

来自分类Dev

如何在Aurelia JS中重定向到另一个视图模型?

来自分类Dev

如何在另一个视图模型中使用一个模型属性?

来自分类Dev

如何在类中调用函数以在php中调用另一个类?

来自分类Dev

如何在Kotlin中的另一个函数中调用带有参数的函数

来自分类Dev

如何在另一个对象的构造函数中声明和制作对象?

来自分类Dev

如何在另一个对象的构造函数中声明和制作对象?

来自分类Dev

如何在Django的相同模型中调用/引用另一个属性

来自分类Dev

淘汰赛:如何调用另一个视图模型的功能

来自分类Dev

如何在Javascript中测试另一个函数的函数调用计数?

来自分类Dev

如何在另一个函数中调用setinterval函数不起作用

来自分类Dev

如何在Javascript中测试另一个函数的函数调用计数?

来自分类Dev

如下所述,如何在JavaScript中的另一个函数内调用函数

来自分类Dev

我如何在另一个函数中调用函数?

来自分类Dev

如何在另一个函数中调用聚合函数?

Related 相关文章

  1. 1

    如何从没有构造函数的另一个类中调用方法

  2. 2

    在 Django 中,如何使用基于函数的视图中的另一个模型数据

  3. 3

    如何在 Java 中从另一个构造函数调用一个构造函数?(初学者示例)

  4. 4

    如何在JavaScript中的另一个函数中调用一个函数

  5. 5

    如何在MVVM Light Toolkit中从另一个ViewModel中的ViewModel中设置属性

  6. 6

    如何为另一个构造函数调用的构造函数提供参数?

  7. 7

    在烧瓶中,如何在另一个视图中从另一个函数/路由调用数据,如下所述

  8. 8

    在烧瓶中,如何在另一个视图中从另一个函数/路由调用数据,如下所述

  9. 9

    如何在VBA中的另一个函数内调用一个函数?

  10. 10

    如何在另一个函数中调用一个函数

  11. 11

    如何在另一个函数中调用一个reduce函数

  12. 12

    如何在另一个视图控制器中调用另一个方法?

  13. 13

    如何在单独的文件中从另一个视图调用主干视图功能

  14. 14

    如何在烧瓶中调用一个函数到另一个

  15. 15

    如何从Knockout中的另一个视图模型更新视图模型数据

  16. 16

    如何在Aurelia JS中重定向到另一个视图模型?

  17. 17

    如何在另一个视图模型中使用一个模型属性?

  18. 18

    如何在类中调用函数以在php中调用另一个类?

  19. 19

    如何在Kotlin中的另一个函数中调用带有参数的函数

  20. 20

    如何在另一个对象的构造函数中声明和制作对象?

  21. 21

    如何在另一个对象的构造函数中声明和制作对象?

  22. 22

    如何在Django的相同模型中调用/引用另一个属性

  23. 23

    淘汰赛:如何调用另一个视图模型的功能

  24. 24

    如何在Javascript中测试另一个函数的函数调用计数?

  25. 25

    如何在另一个函数中调用setinterval函数不起作用

  26. 26

    如何在Javascript中测试另一个函数的函数调用计数?

  27. 27

    如下所述,如何在JavaScript中的另一个函数内调用函数

  28. 28

    我如何在另一个函数中调用函数?

  29. 29

    如何在另一个函数中调用聚合函数?

热门标签

归档