I have created a treeview and now I want to get the name of the header as a string to use in the ViewModel. The command works but I can't get the name of the header to pass as a parameter in the method.
How do I get the name of the header each time I select a new new 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>
....
ViewModel (the parameter doesn't work)
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);
}
}