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有关

由于以上链接已死:

  1. https://archive.codeplex.com/?p=mvvmlight
  2. home切换到issues
  3. 在页面中搜索“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、更简单的方法或片段?

TreeViewItem 展开时调用命令

EventToCommand 和 CommandManagerBinding 不起作用

Mvvmlight实践一:如果在项目中添加使用Mvvmlight(图文详解)

2021-10-04 WPF上位机 57-MvvmLight的主要程序库