MVVMLight EventToCommand导致内存泄漏
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MVVMLight EventToCommand导致内存泄漏相关的知识,希望对你有一定的参考价值。
您好
我得到了这个xaml,我的EventToCommand连接到MVVM,这个代码的问题在于导航离开持有它的页面总是停留在内存中。
<ComboBox Grid.Column="1" Grid.Row="0" FontSize="10"
SelectedIndex="{Binding Foo, Mode=TwoWay}" TabIndex="0">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<cmd:EventToCommand Command="{Binding FooChangeCommand}"
PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
<ComboBoxItem Content="Show Al" />
<ComboBoxItem Content="..." />
</ComboBox>
答案
2年后,我有完全相同的问题。
我用i:InvokeCommandAction
而不是cmd:EventToCommand
解决了问题。
另一答案
可能与:http://mvvmlight.codeplex.com/workitem/7512有关
由于以上链接已死:
- 去https://archive.codeplex.com/?p=mvvmlight
- 从
home
切换到issues
- 在页面中搜索“EventToCommand Memory Leak(Windows Phone 7 SP1 Toolkit)”
对该问题的评论表明,https://atomaras.wordpress.com/2012/04/23/solving-mvvmlights-eventtocommand-memory-leak-wp7/可能会对问题提供更深入的分析和解决方案。
以上是关于MVVMLight EventToCommand导致内存泄漏的主要内容,如果未能解决你的问题,请参考以下文章
WP8 MvvmLight命名空间丢失,EventToCommand不存在
MVVM Light:在 XAML 中添加 EventToCommand 而不使用 Blend、更简单的方法或片段?
EventToCommand 和 CommandManagerBinding 不起作用