Esempio n. 1
0
 /// <summary>
 /// Walk the visual tree to find the ItemsControl and 
 /// hook its some events on it.
 /// </summar
 private void HookItemsControlEvents()
 {
     _itemsControl = GetDependencyObjectFromVisualTree(this,
                         typeof(ItemsControl)) as ItemsControl;
     if (_itemsControl != null)
     {
         //Handle the Resize/ScrollChange/MouseWheel
         //events to determine whether to switch to Normal mode
         _itemsControl.SizeChanged +=
             new SizeChangedEventHandler(OnCouldSwitchToNormalMode);
         _itemsControl.AddHandler(ScrollViewer.ScrollChangedEvent,
             new RoutedEventHandler(OnScrollViewerChanged));
         _itemsControl.AddHandler(ScrollViewer.MouseWheelEvent,
             new RoutedEventHandler(OnCouldSwitchToNormalMode), true);
     }
 }
		private void ProcessPanelType()
		{
			if (null == _ui_lbLeft || null == _ui_lbRight || null == _ui_tvLeft || null == _ui_tvRight)
				return;
			switch (ePanelType)
			{
				case PanelTypes.list:
					_ui_dlbLeft.Visibility = _ui_dlbRight.Visibility = Visibility.Visible;
					_ui_dtvLeft.Visibility = _ui_dtvRight.Visibility = Visibility.Collapsed;
					_ui_Search.DataContext = _ui_icLeft = _ui_lbLeft;
					_ui_icRight = _ui_lbRight;
					break;
				case PanelTypes.tree:
					_ui_dlbLeft.Visibility = _ui_dlbRight.Visibility = Visibility.Collapsed;
					_ui_dtvLeft.Visibility = _ui_dtvRight.Visibility = Visibility.Visible;
					_ui_Search.DataContext = _ui_icLeft = _ui_tvLeft;
					_ui_icRight = _ui_tvRight;
					break;
			}
			_ui_Search.DataContext = _ui_icLeft;
			if (null != _ui_icLeft)
				_ui_icLeft.RemoveHandler(MouseLeftButtonDownEvent, (MouseButtonEventHandler)ItemsControl_MouseLeftButtonDown);
			if (null != _ui_icRight)
				_ui_icRight.RemoveHandler(MouseLeftButtonDownEvent, (MouseButtonEventHandler)ItemsControl_MouseLeftButtonDown);
			_ui_icLeft.AddHandler(MouseLeftButtonDownEvent, (MouseButtonEventHandler)ItemsControl_MouseLeftButtonDown, true);
			_ui_icRight.AddHandler(MouseLeftButtonDownEvent, (MouseButtonEventHandler)ItemsControl_MouseLeftButtonDown, true);
			ProcessItemTemplate();
		}