WPF TreeView 이벤트를 두 번 선택하여 TreeView의 부모 노드에 대한 해결 방법을 가져옵니다.
1642 단어 treeview
Very often, we need to execute some code in
SelectedItemChanged
depending on the selected TreeViewItem
. But SelectedItemChanged
is called twice. This is due to stealing focus from the main window, which is screwing something up. What we have to do to avoid this is simply delay the call to our code, i.e.,
MyFunction()
which we need to execute in SelectedItemChanged
. Here's a workaround which delays the call to open the new window until the item selection code finishes up: private delegate void NoArgDelegate();
void Window1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
Dispatcher.BeginInvoke(DispatcherPriority.Background,
(NoArgDelegate)delegate { MyFunction(); });
}
2. Treeview 상위 노드 가져오기
private void treeView1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
// ( )
TreeViewItem item = treeView1.SelectedItem as TreeViewItem;
//
TreeViewItem parent = item.Parent as TreeViewItem;
//
if (parent != null) {
// , Header
MessageBox.Show(" Header:" + parent.Header.ToString());
} else {
MessageBox.Show(" !");
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C# winform 반복 선택TreeView 하위 노드텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.