컨텍스트 메뉴의 헤더를 해당 .NET의 선택한 항목 속성에 바인딩하려고합니다 ListView
. 의 개체 ItemsSource
에는 IsDuplicate
속성이 있습니다. 무엇이 잘못되었는지 아십니까?
<ListView x:Name="AthletesListView" ItemsSource="{Binding FoundAthletes}">
<ListView.ContextMenu>
<ContextMenu>
<MenuItem Name="AddorEditAthleteMenuItem"
Header="{Binding SelectedItem.IsDuplicate,
ElementName=AthletesListView,
Converter={StaticResource FoundAthletesAddEditMenuItemConverter}}"
Click="AddAthleteMenuItem_Click"/>
</ContextMenu>
</ListView.ContextMenu>
오류 메시지 아래 :
System.Windows.Data 오류 : 4 : 'ElementName = AthletesListView'참조가있는 바인딩에 대한 소스를 찾을 수 없습니다. BindingExpression : Path = SelectedItem; DataItem = null; 대상 요소는 'MenuItem'입니다 (Name = 'AddorEditAthleteMenuItem'); 대상 속성은 'Header'( 'Object'유형)입니다.
는 ContextMenu
연관된 동일한 비주얼 트리의 일부가 아닌 ListView
가 다른 윈도우에 표시되기 때문에. 결과적으로 상대 소스 및 요소 이름 바인딩이 작동하지 않습니다.
대신 사용할 수있는 PlacementTarget
의를 ContextMenu
인 ListView
.
<MenuItem Name="AddorEditAthleteMenuItem"
Header="{Binding PlacementTarget.SelectedItem.IsDuplicate, RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}, Converter={StaticResource FoundAthletesAddEditMenuItemConverter}}"
Click="AddAthleteMenuItem_Click"/>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다