using System.Collections.Generic; using System.Windows; using System.Windows.Controls; namespace MECF.Framework.UI.Core.ExtendedControls { /// /// ObjectInTreeView.xaml 的交互逻辑 /// public partial class ObjectInTreeView : UserControl { public ObjectInTreeView() { InitializeComponent(); } public object ObjectToVisualize { get { return (object) GetValue(ObjectToVisualizeProperty); } set { SetValue(ObjectToVisualizeProperty, value); } } public static readonly DependencyProperty ObjectToVisualizeProperty = DependencyProperty.Register("ObjectToVisualize", typeof(object), typeof(ObjectInTreeView), new PropertyMetadata(null, OnObjectChanged)); private static void OnObjectChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ObjectTreeNode tree = ObjectTreeNode.CreateTree(e.NewValue); (d as ObjectInTreeView).TreeNodes = new List() {tree}; } public List TreeNodes { get { return (List) GetValue(TreeNodesProperty); } set { SetValue(TreeNodesProperty, value); } } public static readonly DependencyProperty TreeNodesProperty = DependencyProperty.Register("TreeNodes", typeof(List), typeof(ObjectInTreeView), new PropertyMetadata(null)); } }