xaml파일에서 ViewTree 설정 부분
<TreeView Height="196" HorizontalAlignment="Left" Margin="6,6,0,0" Name="tree_command" FontFamily="Tahoma" VerticalAlignment="Top" Width="439">
<TreeViewItem Header="Parent Menu 1">
<TreeViewItem Header="Sub Menu 1"></TreeViewItem>
</TreeViewItem>
<TreeViewItem Header="Parent Menu 2">
<TreeViewItem Header="Sub Menu 1"></TreeViewItem>
<TreeViewItem Header="Sub Menu 2"></TreeViewItem>
</TreeViewItem>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="TreeView_MouseClick"/>
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
※색별로 정리하면...
TreeView 선언
TreeView 메뉴 설정
TreeView의 마우스 더블클릭 시에 이벤트 발생하도록 Callback함수 등록
※이벤트 설정 부분 설명
EventSetter Event="PreviewMouseLeftButtonDown"
Handler="TreeView_MouseClick"/>
--> PreviewMouseLeftButtonDown이벤트가 걸리면
TreeView_MouseClick함수 호출
다음으로 함수 부분 설정
private void TreeView_MouseClick(object sender, MouseButtonEventArgs e)
{
string name;
string parent_name;
Point currentPosition = e.GetPosition(tree_command);
TreeViewItem node = (TreeViewItem)tree_command.SelectedItem;
if (node != null)
{
name = node.Header.ToString();
parent_name = pnode.Header.ToString();
}
}
※ TreeView_MouseClick 함수 이름은 xaml파일에서 설정한 함수와
동일한 이름이어야 함
※ 부모가 없는 노드에서 pnode.Header.ToString을 호출하면 에러남.
부모가 있는지 없는지 확인하는 함수를 모르겠음.