C# ile WPF ile programlamanın geleneksel C# yordamlarından farklı olduğunu anlıyorum, bu nedenle çevrimiçi materyalin çoğu ihtiyacım olanı belirtmiyor.WPF C# TreeView içindeki bir çocuğun üst düğümünü edinin
WPF Penceremde bir TreeView denetimim var ve içinde üst düğümler ve alt düğümler var. Bunları bir Node (id, name, parent) türü listesinde saklamak istiyorum.
Bunu kullanarak seçilen öğesi/düğümün adı var:
private void TreeViewItem_OnItemSelected(object sender, RoutedEventArgs e)
{
TreeViewItem item = treeView.SelectedItem as TreeViewItem;
nameTxt.Text = item.Header.ToString();
}
Ve bu kullanarak ona hemen önce çocuk düğümün Ebeveyn alma çalıştı:
TreeViewItem item = treeView.SelectedItem as TreeViewItem;
nameTxt.Text = item.Parent.ToString();
Ancak, bu, çocuğun üst bilgisi yerine Kök Üstünü (A) döndürür (bu 2'dir).
Çocuğun ana üst öğeyi kök ana yerine almak için ne gibi değişiklikler yapmalıyım? :)
DÜZENLEME: İşte küçük bir örnek düzenlendi XAML
<TreeView Name="treeView" HorizontalAlignment="Left" Height="564" Margin="10,68,0,0" VerticalAlignment="Top" Width="363">
<TreeViewItem TreeViewItem.Selected="TreeViewItem_OnItemSelected" Header="A" IsExpanded="True" Height="554" FontSize="18">
<TreeViewItem Header="1" />
<TreeViewItem Header="2" />
</TreeViewItem>
</TreeView>
Bu alışılmadık bir durumdur. Bu, ebeveyn özelliği tarafından döndürülen düğümün üst öğesidir. Belki de sağladığınız kodun genişletilmiş bir sürümünü gösterir misiniz, belki sorun başka bir yerde olabilir – Hristo
Öğe ne zaman? SelectedItem 'öğesi 'A' döndürür? –
@ Chris bu tam bir koddur, dostum. Sadece seçilen öğeyi ve üst öğeyi bir metin kutusuna yazdırıyorum. A olan kök düğümüne eşleme yapmaya devam eder. Ancak seçilen öğe şu anda seçili olan öğeyi gösterir, sadece üst öğe – MWUser