【发布时间】:2012-08-04 10:19:13
【问题描述】:
我有一个简单的 ViewModel
public class TestViewModel : ViewModelBase, IDisposable
{
public TestViewModel()
{
Messenger.Default.Register<string>(this, MessageHandling);
}
public void MessageHandling(string message)
{
System.Windows.MessageBox.Show(message);
}
public override void Cleanup()
{
Messenger.Default.Unregister(this);
base.Cleanup();
}
}
我在我的 XAML 中这样使用它:
<Window.Resources>
<ResourceDictionary>
<vm:TestViewModel x:Key="ViewModel"></vm:TestViewModel>
</ResourceDictionary>
</Window.Resources>
<Grid DataContext="{Binding Source={StaticResource ViewModel}}">
</Grid>
谁能帮助我们处理这个 ViewModel,通过处理我的意思是我应该订阅哪个事件来调用 VM 方法清理?因为如果我不进行清理,ViewModel 将保留在内存中并仍然处理消息。 我希望我解释得当:)
提前致谢
【问题讨论】:
-
您使用的是
MVVM Light Toolkit,对吗? -
@Paul Michalik 正确,但如果这是您的下一个问题,我不会使用 ViewModelLocator :)
标签: wpf mvvm mvvm-light