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(); }