using System; |
using System.Collections.Generic; |
using System.Linq; |
using System.Net; |
using System.Windows; |
using System.Windows.Controls; |
using System.Windows.Documents; |
using System.Windows.Input; |
using System.Windows.Media; |
using System.Windows.Media.Animation; |
using System.Windows.Shapes; |
using Telerik.Windows; |
using Telerik.Windows.Controls; |
using Telerik.Windows.Input; |
|
namespace SilverlightApplication2 |
{ |
public partial class Page : UserControl |
{ |
public Page() |
{ |
InitializeComponent(); |
xTreeViewA.AddHandler(RadMenuItem.ClickEvent, new RoutedEventHandler(OnMenuItemClicked)); |
xTreeViewB.AddHandler(RadMenuItem.ClickEvent, new RoutedEventHandler(OnMenuItemClicked)); |
Mouse.AddMouseDownHandler(this, OnRightMouseButtonUp); |
} |
|
private void OnRightMouseButtonUp(object sender, Telerik.Windows.Input.MouseButtonEventArgs e) |
{ |
RadTreeViewItem treeItem = null; |
Point mousePosition = e.GetPosition(null); |
foreach (UIElement item in VisualTreeHelper.FindElementsInHostCoordinates(mousePosition, this)) |
{ |
treeItem = item as RadTreeViewItem; |
if (treeItem != null) |
{ |
break; |
} |
} |
|
if (treeItem != null) |
{ |
treeItem.IsSelected = true; |
} |
} |
|
private void OnMenuItemClicked(object sender, RoutedEventArgs args) |
{ |
RadTreeView vParentTreeView = sender as RadTreeView; |
RadRoutedEventArgs e = args as RadRoutedEventArgs; |
RadMenuItem item = e.OriginalSource as RadMenuItem; |
if ((item != null)) |
{ |
if (item.Header != null) |
{ |
if (item.Header.ToString() == "Add Sibling") |
{ |
|
RadTreeViewItem treeViewItem = vParentTreeView.SelectedItem as RadTreeViewItem; |
if (treeViewItem != null) |
{ |
if (treeViewItem.Parent is RadTreeViewItem) |
{ |
(treeViewItem.Parent as RadTreeViewItem).Items.Add(new RadTreeViewItem() { Header = "New Item" }); |
} |
else |
{ |
(treeViewItem.Parent as RadTreeView).Items.Add(new RadTreeViewItem() { Header = "New Item" }); |
} |
|
} |
} |
|
if (item.Header.ToString() == "Add Child") |
{ |
|
RadTreeViewItem treeViewItem = vParentTreeView.SelectedItem as RadTreeViewItem; |
if (treeViewItem != null) |
{ |
treeViewItem.Items.Add(new RadTreeViewItem() { Header = "New Item" }); |
treeViewItem.IsExpanded = true; |
} |
} |
if (item.Header.ToString() == "Delete Item") |
{ |
RadTreeViewItem treeViewItem = vParentTreeView.SelectedItem as RadTreeViewItem; |
if (treeViewItem != null) |
{ |
if (treeViewItem.ParentItem != null) |
{ |
treeViewItem.ParentItem.Items.Remove(treeViewItem); |
} |
else |
{ |
treeViewItem.ParentTreeView.Items.Remove(treeViewItem); |
} |
} |
} |
if (item.Header.ToString() == "Edit") |
{ |
RadTreeViewItem treeViewItem = vParentTreeView.SelectedItem as RadTreeViewItem; |
if (treeViewItem != null) |
{ |
treeViewItem.BeginEdit(); |
} |
} |
} |
} |
} |
} |
} |
|