WPF 컨트롤에 이미지 (위치)가 있습니다. 각 이미지는 해당 컨트롤 아래의 ListView
에있는 항목과 관련이 있습니다. 사용자가 위치를 클릭하면 ListView
에서 해당하는 을 선택하여 강조 표시합니다. 마찬가지로 사용자가 ListViewItem
을 클릭하면 해당 위치가 선택되기를 원합니다.ListView에서 IsSelected와 SelectedItem 동기화하기
나는 하나의 행동이나 다른 행동을 성취 할 수 있지만, 나는 함께 일하는 것 같지 않습니다. 위치가 선택 될 때
내가 '`true로IsSelected
속성을 설정하는
Style
있습니다
<Style x:Key="PositionItem" TargetType="ListViewItem">
<Setter Property="IsSelected" Value="False" />
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource IsCurrentPositionConverter}">
<Binding RelativeSource="{RelativeSource Self}" Path="DataContext" />
<Binding RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type UserControl}}" Path="DataContext.CurrentBackplane.CurrentCard.CurrentPosition" />
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="IsSelected" Value="True" />
</DataTrigger>
</Style.Triggers>
</Style>
을 내 ListView
, 나는 SelectionChanged
에 대한 핸들러를 설정합니다
private void Positions_SelectionChanged(object sender, SelectionChangedEventArgs e) {
var listView = sender as ListView;
if (listView == null) return;
var currentPos = listView.SelectedItem as IGraphicPositionViewModel;
if (currentPos == null) return;
if (currentPos != _ViewModel.CurrentBackplane.CurrentCard.CurrentPosition)
_ViewModel.CurrentBackplane.CurrentCard.CurrentPosition = currentPos;
}
문제가인데 IsSelected
속성이 ListViewItem
인 경우 SelectedItem
과 잘 관련이없는 것 같습니다. ListView
의 속성
이러한 속성을 동기화하는 데 사용할 수있는 다른 속성이나 이벤트가 있습니까?