1

ツリービュー コントロールがあります。

 <TreeView Name="ProductsHierarchy" FontFamily="Arial"  
                          Background="White" Margin="2" 
                          FontSize="12" SelectedItemChanged ="ProductsHierarchy_SelectedItemChanged">

ツリービューの SelectedItemChanged イベントのコマンドをバインドし、コード ビハインド イベント ハンドラーを回避する方法はありますか?

4

1 に答える 1

2

MVVMToolkitのEventToCommandを試してください。

「組み込み」(Blendから)アプローチは、インタラクティブ機能を使用することです

<TreeView Name="ProductsHierarchy" FontFamily="Arial"  
                          Background="White" Margin="2" 
                          FontSize="12" SelectedItemChanged ="ProductsHierarchy_SelectedItemChanged">
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="SelectedItemChanged">
            <i:InvokeCommandAction Command="{Binding SelectedItemChangedCommand}" CommandParameter="argument"/>
        </i:EventTrigger>
    </i:Interaction.Triggers>
</TreeView>

名前空間を含める必要があります。

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

ここでの欠点は、にアクセスできないことですEventArgs。これが解決策です(ポーランド語ですが、コードサンプルはほとんど自明です)。

于 2012-12-12T11:06:25.043 に答える