protected override void OnMouseDown(MouseButtonEventArgs e)
{
//System.Diagnostics.Debug.WriteLine("MultiSelectTreeViewItem.OnMouseDown(Item = " + this.DisplayName + ", Button = " + e.ChangedButton + ")");
base.OnMouseDown(e);
FrameworkElement itemContent = (FrameworkElement) this.Template.FindName("headerBorder", this);
if (!itemContent.IsMouseOver)
{
// A (probably disabled) child item was really clicked, do nothing here
return;
}
if (e.ChangedButton == MouseButton.Left)
{
ParentTreeView.Selection.Select(this);
e.Handled = true;
}
if (e.ChangedButton == MouseButton.Right)
{
if (!IsSelected)
{
ParentTreeView.Selection.Select(this);
}
e.Handled = true;
}
}