我有一个TreeView
包含许多TreeViewItems
. 每个都TreeViewItem
包含一个水平方向StackPanel
,而水平方向又包含一个图像和一个标签。
当用户单击 TreeViewItem 时,我想获得一个参考TreeViewItem
。取而代之的是,源作为标签或图像返回,具体取决于TreeViewItem
用户单击的部分。
我不能使用 selectedItemChanged 事件,因为这严格来说是每次单击 TreeViewItem 时都必须发生的操作。
这是我的 XAML:
<TreeView DockPanel.Dock="Left"
Name="tvSchema"
AllowDrop="True"
TreeViewItem.PreviewMouseLeftButtonDown="tvSchema_PreviewMouseLeftButtonDown">
</TreeView>
这是当用户单击一个时尝试检索所选 TreeViewItem 的代码:
private void tvSchema_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
object x = e.OriginalSource; //Returns TextBlock
object y = e.Source; //Returns Label
object z = sender; //Returns TreeView
}
可以做些什么来获得实际的 TreeViewItem?