MVVMLight EventToCommand导致内存泄漏

问题描述 投票:2回答:2

您好

我得到了这个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>
c# silverlight-4.0 memory-leaks mvvm-light
2个回答
6
投票

2年后,我有完全相同的问题。

我用i:InvokeCommandAction而不是cmd:EventToCommand解决了问题。


0
投票

可能与: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/可能会对问题提供更深入的分析和解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.