[英]How to copy selected listview item by copy command in the context menu
[英]Binding a context menu header to the selected item of a ListView
我正在嘗試將上下文菜單的 header 綁定到相應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”綁定的源。 綁定表達式:路徑=選定項; 數據項=空; 目標元素是'MenuItem'(名稱='AddorEditAthleteMenuItem'); 目標屬性是“標題”(類型“對象”)
ContextMenu
與關聯的ListView
不是同一可視化樹的一部分,因為它顯示在不同的 window 中。 因此,相對源和元素名稱綁定不起作用。
相反,您可以使用ContextMenu
的PlacementTarget
,即ListView
。
<MenuItem Name="AddorEditAthleteMenuItem"
Header="{Binding PlacementTarget.SelectedItem.IsDuplicate, RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}, Converter={StaticResource FoundAthletesAddEditMenuItemConverter}}"
Click="AddAthleteMenuItem_Click"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.