扩展 MVVM Light 工具包中的 ViewModelBase 类
MVVM Light 工具包有一个所有 ViewModel 都继承自的 ViewModelBase。不幸的是,ViewModelBase 内置于 MVVM Light 的 dll 中,所以我不知道如何扩展它。
我想将以下代码添加到 ViewModelBase 的构造函数中。
if (!App.IsAuthenticated) {
//MVVM Navigation code here
}
我在 App.xaml.cs 中设置了 IsAuthenticated 标志,在用户使用我们的自定义数据库/身份验证模型(在没有成员资格/角色提供程序的情况下运行 OOB)成功进行身份验证后,该标志设置为 true。
如何扩展 VMB 以包含此代码?
The MVVM Light toolkit has a ViewModelBase that all ViewModels inherit from. Unfortunately that ViewModelBase is built into the dll for MVVM Light, so I don't know how to extend it.
I want to add the following code to the constructor of the ViewModelBase.
if (!App.IsAuthenticated) {
//MVVM Navigation code here
}
I have an IsAuthenticated flag set in my App.xaml.cs that's set to true after a user successfully authenticates with our custom DB/authentication model (running OOB without a membership/role provider).
How do I extend the VMB to include this code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以按照建议扩展
ViewModelBase
,或者使用扩展方法。如果您决定避免扩展,扩展方法模型应该对您有所帮助。You can either extend
ViewModelBase
as proposed, or use extension methods. If you are set on avoiding to extend, the extension method model should help you.您可以从 mvvmlight.codeplex.com 获取 MVVM Light 源代码并进行修改。
you can get MVVM Light sourcecode from mvvmlight.codeplex.com and modify it.
创建一个继承自ViewModelBase的新类
Create a new class that inherits from ViewModelBase