【问题标题】:Extending ViewModelBase class in MVVM Light toolkit在 MVVM Light 工具包中扩展 ViewModelBase 类
【发布时间】:2011-02-15 18:53:20
【问题描述】:

MVVM Light 工具包有一个所有 ViewModel 都继承自的 ViewModelBase。不幸的是,ViewModelBase 内置在 MVVM Light 的 dll 中,所以我不知道如何扩展它。

我想将以下代码添加到 ViewModelBase 的构造函数中。

if (!App.IsAuthenticated) {
//MVVM Navigation code here 
}

我在我的 App.xaml.cs 中设置了一个 IsAuthenticated 标志,在用户使用我们的自定义 DB/身份验证模型成功进行身份验证后设置为 true(在没有成员资格/角色提供程序的情况下运行 OOB)。

如何扩展 VMB 以包含此代码?

【问题讨论】:

    标签: silverlight mvvm-light


    【解决方案1】:

    您可以按照建议扩展ViewModelBase,或使用扩展方法。如果您打算避免扩展,扩展方法模型应该可以帮助您。

    【讨论】:

    • 太棒了!作者来了!
    【解决方案2】:

    您可以从mvvmlight.codeplex.com 获取 MVVM Light 源代码并进行修改。

    【讨论】:

    • 有时最好的解决方案是最简单的,或者至少是最菜鸟的,因为这是一个简单的解决方案。干杯丹尼尔。
    【解决方案3】:

    创建一个继承自 ViewModelBase 的新类

    【讨论】:

    • 我想过,但默认情况下每个 ViewModel 都继承自 ViewModelBase(MVVM Light ViewModel 模板的一部分),所以我必须记住每次都手动更改继承代码。这不是世界末日,但我希望避免这种情况。
    • 您也可以使用片段管理器更改模板(或创建新模板)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 2011-03-10
    • 2017-03-22
    相关资源
    最近更新 更多