MVVM Light를 사용하도록 프로젝트를 변환 중입니다.ListViewItem MouseDoubleClick MVVM 방식
ListViewItem MouseDoubleClick을 명령에 바인딩 할 때까지 모든 것이 정상적으로 작동했습니다. 내가 좋아하는 것
<ListView x:Name="ItemsFromStash" Grid.Column="0" Grid.Row="1"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
ItemsSource="{Binding DropBox.DroppedItems}"
ItemTemplate="{DynamicResource DropItemTemplate}"
SelectedItem="{Binding DropBox.SelectedDropItem}">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<EventSetter Event="Control.MouseDoubleClick"
Handler="EventSetter_OnHandler"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>
가 그렇게 다소 보이게 :
는 지금은 그 모양
<ListView x:Name="ItemsFromStash" Grid.Column="0" Grid.Row="1"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
ItemsSource="{Binding DropBox.DroppedItems}"
ItemTemplate="{DynamicResource DropItemTemplate}"
SelectedItem="{Binding DropBox.SelectedDropItem}">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<Custom:EventToCommand Command=
"{Binding DropBox.RenameItemCommand, Mode=OneWay}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Style>
</ListView.ItemContainerStyle>
</ListView>
을하지만 말한다 :
재산권 '트리거' 'Style'유형의 요소에 부착 할 수 없습니다.
명령을 ListView.MouseDoubleClick으로 이동하려고 시도했지만 SelectedItem이 null 인 경우가 있습니다.
어떻게해야합니까?
당신이 항목을 인식하는 것이 중요하다면 거기에 클릭 이벤트에 대한 처리기를 거기에 추가하여 거기서 목록보기로 만들 수 있습니다. e.OriginalSource는 목록보기 항목이어야합니다 –
때때로 null 인 이유를 알고 있습니까? 그 행동을 반복 할 수 있니? 또한, 향후 참조를 위해 다음 비트는 아무 것도 추가하지 않고 사람들이 필요하지 않은 코드를 읽게하기 때문에 질문에서는 쓸모가 없다 :'Grid.Column = "0"Grid.Row = "1"VerticalAlignment = "늘이기"HorizontalAlignment = "늘이기". – Noctis
@Noctis 불행히도 나는 그것을 매번 반복 할 수 없다. 무작위로 보인다. – gisek