3

MVVM Light を使用して WPF アプリケーションを作成しています。次の TreeView があります。

<TreeView x:Name="TreeView" 
                  Grid.Column="2" 
                  HorizontalAlignment="Left" Height="463.481" VerticalAlignment="Top" Width="263" 
                  ItemsSource="{Binding PackageView}" Margin="0,5.657,0,0" Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="2">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="SelectedItemChanged">
                    <i:InvokeCommandAction Command="{Binding Command}" 
                    CommandParameter="SelectedItemChanged"/>
                </i:EventTrigger>
            </i:Interaction.Triggers>
            <TreeView.ItemContainerStyle>
                <Style TargetType="{x:Type TreeViewItem}">
                    <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
                    <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
                    <Setter Property="FontWeight" Value="Normal" />
                    <Style.Triggers>
                        <Trigger Property="IsSelected" Value="True">
                            <Setter Property="FontWeight" Value="Bold" />
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </TreeView.ItemContainerStyle>

選択が変更されたときに、新しく選択されたアイテムを引数としてコマンドに送信したい。これを行う方法はありますか?EventToCommand でこれを行うことができるという印象を受けましたが、それらを使用しようとすると、バージョン 4 ではサポートされなくなったと表示され、適切な回避策が見つかりません。

ありがとう。

4

1 に答える 1

7

指定するCommandParameter="SelectedItemChanged"ときは、パラメータを として指定していstringます。

SelectedItem をパラメーターとして渡したい場合は、次のようにする必要がありますCommandParameter="{Binding ElementName=TreeView,Path=SelectedItem}"

于 2013-06-14T17:43:17.010 に答える