如何使用ViewModel中的init方法更新View?

时间:2015-10-19 08:51:10

标签: wpf vb.net initialization mvvm-light

我是WPF和MVVM的新手(我使用的是MvvmLight Toolkit),所以我编码的方式可能不对。

方案如下:

每次切换视图时,我都想执行初始化操作。 所以我创建了一个新的InitViewModelBase,它继承了ViewModel

Public MustInherit Class InitViewModelBase
    Inherits ViewModelBase

    ...

    Public MustOverride Sub Init()

End Class

切换视图时调用此Init方法

Private _currentViewModel As InitViewModel
Public Property CurrentViewModel() As InitViewModel
    Get
        Return _currentViewModel
    End Get
    Set(ByVal value As InitViewModel)
        If _currentViewModel IsNot value Then
            _currentViewModel = value
            _currentViewModel.Init
        End If
    End Set
End Property

现在我想更新Init方法

中标签的内容
Private _test As String
Public Property Test() As String = "TEST"
    Get
        Return _test
    End Get
    Set(ByVal value As String)
        _test = value
        RaisePropertyChanged("Test")
    End Set
End Property

Public Overrides Sub Init()
    Test = "UPDATE"
End Sub

<Label Content="{Binding Test}"/>

为什么在我的Init方法中设置新值时,我的标签内容永远不会更新?

如果我在构造函数中设置了一个新值,它就会很好用。

0 个答案:

没有答案