我創建了一個treeview,現在我想將標題的名稱作爲一個字符串在ViewModel中使用。該命令的工作原理,但我無法獲得頭的名稱作爲方法中的參數傳遞。在treeviewItems中獲取標題的名稱
每次我選擇新的新treeViewItem時,如何獲取標題的名稱?
XAML
<TreeView Name="EquipmentTreeView">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectedItemChanged">
<i:InvokeCommandAction
Command="{Binding SelectItemCommand}"
CommandParameter="{Binding SelectedItem, ElementName=EquipmentTreeView}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<TreeViewItem Header="Camera">
<TreeViewItem Header="Digital Camera">
</TreeViewItem >
<TreeViewItem Header="Film Camera">
<TreeViewItem Header="35mm Film Sound Camera"></TreeViewItem>
<TreeViewItem Header="35mm Film MOS Camera"></TreeViewItem>
<TreeViewItem Header="Film Magazines"></TreeViewItem>
</TreeViewItem>
....
視圖模型(參數不工作)
public class EquipmentManagerViewModel : NotifyUIBase
{
public EquipmentManagerViewModel()
{
SelectItemCommand = new RelayCommand(() => GetItemHeader(SelectedItem));
}
public RelayCommand SelectItemCommand { get; private set; }
private void GetItemHeader(string selectedHeader)
{
MessageBox.Show(selectedHeader);
}
}
你試過CommandParameter = {{Binding SelectedItem.Header,ElementName = EquipmentTreeView}「'? –
實際上relayCommand中的(SelectedItem)參數會引發我在當前上下文中不存在的錯誤 – Phil
忘記SelectedItem,您必須傳遞您的參數RelayCommand。 @Mike提出的改變是沒有必要的。 – GreenEyedAndy