6

トリガーがViewModelに来ると、SelectedItem(パラメータ)が以前に選択されたアイテムに来るという問題があります。selectionChanged のパラメーターとして、新しく選択したアイテムが必要です。

私はWP8で初めてです。以下はコードです

    <toolkit:ListPicker Header="Background"
                                    ExpansionMode="FullscreenOnly"
                                    Template="{StaticResource ListPickerControlTemplate}"
                                    VerticalAlignment="Top"
                                    ItemsSource="{Binding Path=Buildings.ObjectList}"
                                    Margin="0"
                                    x:Name="buldings"
                                    Padding="0">
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="SelectionChanged">
                            <i:InvokeCommandAction  Command="{Binding Path=BuildingSelectionCommand}"
                                                    CommandParameter="{Binding Path=SelectedItem, ElementName=buldings}" />
                        </i:EventTrigger>
                    </i:Interaction.Triggers>

ありがとう

4

3 に答える 3

1

それを解決する簡単な方法は、

SelectedItem="{Binding SelectedBuilding, Mode=TwoWay}"

Jehofが提案したように、すべての「<i:」トリガー設定を取り除きますがSelectedBuilding、コマンドを使用してメソッド呼び出しをラップする代わりに、プロパティセッターの変更を処理してメソッドを呼び出すだけです。ここでも使用していないため、コマンドを使用しても何も得られませんがCanExecute、コードを追加するだけです。

于 2013-05-02T22:00:04.787 に答える