2016-08-16 9 views
0

私はViewModelにバインドされたListViewを持っています。 右クリックされたListViewItemと、ViewModel属性を変更するためのトリガーを選択したい(選択モードを単一にする)。ListViewにItemTemplateがあるときにListViewItemを右クリックする方法

<ListView MinHeight="50" MaxHeight="120" 
ItemsSource="{Binding Path=DisplayItems}" SelectedItem="{Binding Path=SelectedDisplayItem, Mode=TwoWay}" 
ItemTemplate="{StaticResource SelectedDisplayItemTemplate}" 
IsItemClickEnabled="False" 
helpers:AttachedCommand.Command="{Binding Path=Commands[NavigateToDisplayItem]}" 
helpers:AttachedCommand.Event="Tapped" /> 

私はListViewでRight Tappedイベントを処理しようとしましたが、タップされたアイテムを取得できませんでした。選択した項目を右クリックで変更するにはどうしたらいいですか?SelectedDisplayItemを右クリックした項目に設定するとどうなりますか?

+0

でそれを作るてみ? – AVK

+0

それはテンプレートなので、スタイルファイルからコンテンツを取得するので、そこにRightTappedを置いてはいけません。 – AbsoluteSith

+0

多分、あなたはitemtemplateをusercontrolとして作成し、そこでRightTappedを処理することができます。 – tao

答えて

0

はあなたがそこにあなたの `RightTapped`イベントを設定したときに何が起こるかSelectedDisplayItemTemplate``に `ItemTemplate`を設定しているので、行動

<ListView 
    x:Name MainListView 
    MinHeight="50" 
    MaxHeight="120" 
    ItemsSource="{Binding DisplayItems}" 
    SelectedItem="{Binding SelectedDisplayItem, Mode=TwoWay}" 
    ItemTemplate="{StaticResource SelectedDisplayItemTemplate}"> 
    <i:Interaction.Behaviors> 
     <core:EventTriggerBehavior 
      EventName="RightTapped"> 
      <core:InvokeCommandAction 
        Command="{Binding YourCommand}" 
        CommandParameter="{Binding ElementName=MainListView, Path=SelectedItem}"/> 
      </core:EventTriggerBehavior> 
    </i:Interaction.Behaviors> 
</ListView> 
関連する問題