【问题标题】:SelectionChanged event occur before SelectedItem BindingSelectionChanged 事件发生在 SelectedItem 绑定之前
【发布时间】:2012-06-07 08:10:30
【问题描述】:

检查以下 XAML

<toolkit:ListPicker x:Name="MyListPicker" SelectionMode="Single" SelectedItem="{Binding sign,Mode=TwoWay}" Background="Wheat" ItemsSource="{Binding DataContext.Signs, ElementName=xx}" Width="40" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Grid.ColumnSpan="1">
                            <i:Interaction.Triggers>                                  
                                <i:EventTrigger EventName="SelectionChanged">
                                    <cmd:EventToCommand CommandParameter="{Binding SelectedItem,ElementName=MyListPicker}" Command="{Binding DataContext.generate, ElementName=xx}"/>
                                </i:EventTrigger>                                   
                            </i:Interaction.Triggers>

当我更改此 ListPicker 的选择时,此事件会调用生成命令,该命令将调用 Generate 方法,其中我将使用已通过 CommandParameter 传递给我的视图模型的 SelectedItem,SelectedItem 的值 on我的方法保持不变,当我再次执行此操作时,它会更改为上一个值而不是最近选择的值,在我看来,与 SelectedItem 的绑定发生在执行 SelectionChanged 之后,该方法使用上一个值执行,任何想法/解决方法?

【问题讨论】:

    标签: windows-phone-7 mvvm silverlight-4.0 mvvm-light


    【解决方案1】:

    也许一种可能的解决方法是使用“SelectedIndex”而不是“SelectedItem”,然后尝试通过该索引从列表中获取元素......它有效。你得到正确的索引,什么时候改变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多