【发布时间】:2009-02-27 21:13:01
【问题描述】:
我有两棵树:
- fooTree - 由元素组成,
- barTree - 由 构建
两棵树都有 MouseRightButtonDown 事件,但 e.Source 类型不同:
- fooTree - System.Windows.Controls.TreeViewItem
- barTree - System.Windows.Controls.TreeView
为什么 e.Source 不同?另外,如何获取 barTree 的点击项?
标记:
<TreeView Name="fooTree" MouseRightButtonDown="fooTree_MouseDown">
<TreeViewItem Header="foo"></TreeViewItem>
<TreeViewItem Header="foo"></TreeViewItem>
</TreeView>
<TreeView Name="barTree" MouseRightButtonDown="barTree_MouseDown" ItemsSource="{Binding BarItems}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate>
<TextBlock Text="{Binding}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
代码:
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
this.DataContext = this;
}
public string[] BarItems
{
get { return new string[] { "bar", "bar" }; }
}
private void barTree_MouseDown(object sender, MouseButtonEventArgs e)
{
}
private void fooTree_MouseDown(object sender, MouseButtonEventArgs e)
{
}
}
【问题讨论】:
标签: wpf treeview event-handling