示例#1
0
        public ObjectsTemplate()
        {
            InitializeComponent();

            PropertyChangedEventHandler mapPropertyChanged = delegate(object sender, PropertyChangedEventArgs e)
            {
                if (e.PropertyName == nameof(IMap.ActiveObject))
                {
                    var treeViewItem = getTreeViewItem(Current.Map.ActiveObject, _treeView) as TreeViewItem;
                    if (treeViewItem != null)
                    {
                        treeViewItem.IsSelected = true;
                    }
                }
            };
            CurrentPropertyChangedEventHandler <IMap> mapChanged = delegate(CurrentPropertyChangedEventArgs <IMap> e)
            {
                if (e.OldValue != null)
                {
                    e.OldValue.PropertyChanged -= mapPropertyChanged;
                }
                if (e.NewValue != null)
                {
                    e.NewValue.PropertyChanged += mapPropertyChanged;
                }
                mapPropertyChanged(e.NewValue, new PropertyChangedEventArgs(nameof(IMap.ActiveObject)));
            };

            Current.MapChanged += mapChanged;
        }
示例#2
0
        public ObjectsPanelModel()
        {
            CurrentPropertyChangedEventHandler <IMap> mapChanged = delegate(CurrentPropertyChangedEventArgs <IMap> e)
            {
                _map   = e.NewValue;
                _items = new object[] { _map };
                onPropetyChanged(nameof(ObjectsPanelModel.Items));
            };

            Current.MapChanged += mapChanged;
            mapChanged(new CurrentPropertyChangedEventArgs <IMap>(null, Current.Map));
        }