[英]WPF get Content of a treeviewitem
我需要檢查用戶每次更改時選擇的treeviewitem
。 我使用了SelectedItemChanged
方法或任何所謂的方法。 它工作正常,但現在我需要為每個可能的treeviewitem
做一個switch case
。 但是我無法做到這一點,因為我不知道如何獲得它的名字。 我在互聯網上檢查了一下,但有人說使用treeview.SelectedItem
但它返回System.Windows.Controls.TreeViewItem Header: Items.Count:0
。 我想知道是否可以完全在.cs代碼文件中執行此操作,或者是否必須使用數據綁定等。
謝謝你的幫助。
編輯:
這是我設置Treeview和TreeViewItems的方式。 它們都像第二個例子。
<TreeView x:Name="treeview" Margin="10,10,0,4" HorizontalAlignment="Left" Width="192" Background="#FFA45353" SelectedItemChanged="treeview_SelectedItemChanged"">
<TreeViewItem IsExpanded="False">
<TreeViewItem.Header>
<StackPanel Orientation="Horizontal">
<Image Source="./Resources/smallicons/icon.jpg"/>
<TextBlock Text=" Main" FontSize="14"/>
</StackPanel>
</TreeViewItem.Header>
<!--==============================================================================================-->
<TreeViewItem>
<TreeViewItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="First" Foreground="Black" />
</StackPanel>
</TreeViewItem.Header>
</TreeViewItem>
<!--==============================================================================================-->
您在找這個嗎?
TreeViewItem selectedNode = (TreeViewItem)treeView.SelectedItem;
string strSelectedNode = selectedNode.Header.ToString();
上面的代碼段假設了一些事情 。
順便說一句,這段代碼是
private void TreeViewItem_Selected(object sender, RoutedEventArgs e)
{
TreeViewItem selectedNode = (TreeViewItem)treeView.SelectedItem;
MessageBox.Show(selectedNode.Header.ToString());
}
好的...根據您的treeview和treeview項目設置,您必須編寫如下代碼。
private void treeview_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
TreeViewItem selectedNode = (TreeViewItem)treeview.SelectedItem;
var sp = selectedNode.Header as StackPanel;
var tb = sp.Children[0] as TextBlock;
var selecteditem = tb.Text;
//MessageBox.Show(selecteditem);
switch (selecteditem)
{
case "Main":
MessageBox.Show(selecteditem);
break;
case "First":
MessageBox.Show(selecteditem);
break;
default:
MessageBox.Show("no matching item found");
break;
}
}
在這里,我正在挖掘選定的樹形視圖項目以獲取選定的樹形視圖項目的文本。 您可能需要稍微調整代碼才能使其完全正常運行。 讓我知道您是否需要任何幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.