WPF listview가 있으며 한 열에 하나 이상의 ListBox가 포함될 수 있습니다.여러 ListBox가 SelectedItem을 ViewModel의 동일한 속성에 바인딩합니다.
ListBox를 마우스 오른쪽 단추로 클릭하면 각 항목에 DelegateCommand가있는 상황에 맞는 메뉴가 작성됩니다. 현재 대리자 명령은 어떤 ListBox를 마우스 오른쪽 단추로 클릭했는지 알아야하므로 페이지 뷰 모델 자체에서 SelectedListBox 속성에 명령 매개 변수를 설정하고 있습니다.
그러나 이것은 별개의 동작으로 이어지고 있습니다. 이것은 여러 ListBox를 동일한 페이지 수준 속성 (SelectedListBox)에 바인딩하기 때문입니다. 다음과 같이
목록보기에 대한 셀 서식 관련 XAML은 다음과 같습니다
<DataTemplate x:Key="MultipleListBoxCellTemplate">
<ListBox SelectedItem="{Binding Path=DataContext.SelectedListBox, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Page}}}" />
</DataTemplate>
내 뷰 모델에 마우스 오른쪽 버튼으로 클릭 된 목록 상자 얻을 수있는 더 나은 방법이 있나요, 또는 사람이 다른 방법을 생각할 수 ? 많이 감사드립니다 :)