コード例 #1
0
 private void InitializeDropDown()
 {
     _dropDownContent    = ResultsBoxTemplate.LoadContent() as FrameworkElement;
     _dropDown           = new PopupAdorner(_searchTextBox, _dropDownContent);
     _resultsItemControl = _dropDownContent.FindName("PART_ResultsItemControl") as ItemsControl;
     _dropDownContent.SetBinding(FrameworkElement.DataContextProperty, new Binding("DataContext")
     {
         Source = this
     });
     _dropDownContent.AddHandler(ResultItem.ResultItemSelectedEvent, new RoutedEventHandler(OnResultItemSelected));
     _dropDownContent.AddHandler(ResultItem.ResultItemClickedEvent, new RoutedEventHandler(OnResultItemClicked));
     _dropDownContent.MouseDown += PopupContent_MouseDown;
 }
コード例 #2
0
            internal PopupResizer(Popup popup, FrameworkElement controlledElement, Style previewStyle)
            {
                this.ControlledElement       = controlledElement;
                this.Popup                   = popup;
                this.PopupResizePreviewStyle = previewStyle;
                IsResizing                   = false;
                Adorner     = null;
                this.Cursor = (popup.Child as FrameworkElement).Cursor;

                PresentationSource source = HwndSource.FromVisual(popup);

                topMost = source.RootVisual;
                SetMouseEvents();
            }
コード例 #3
0
            internal void StartResize(Window sender)
            {
                // damn!!!!
                // I'm forced to use two separated adorners
                // to have it displayed over the popup child
                // and to have it also outside of the child contorl
                // if you know a better way to do this
                // please post a discussion on navigationpane.codeplex.com

                AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(Popup);

                if (adornerLayer != null)
                {
                    Adorner = new PopupAdorner(Popup, Popup.Placement, PopupResizePreviewStyle);
                    adornerLayer.Add(Adorner);
                }

                adornerLayer = AdornerLayer.GetAdornerLayer(Popup.Child);
                if (adornerLayer != null)
                {
                    ChildAdorner = new PopupAdorner(Popup.Child, Popup.Placement, PopupResizePreviewStyle);
                    adornerLayer.Add(ChildAdorner);
                }

                FrameworkElement child = Popup.Child as FrameworkElement;

                FrameworkElement e = topMost as FrameworkElement;

                if (e != null)
                {
                    e.Cursor = System.Windows.Input.Cursors.SizeWE;
                }
                child.Cursor = System.Windows.Input.Cursors.SizeWE;

                IsResizing = true;
            }
コード例 #4
0
            internal PopupResizer(Popup popup, FrameworkElement controlledElement, Style previewStyle)
            {
                this.ControlledElement = controlledElement;
                this.Popup = popup;
                this.PopupResizePreviewStyle = previewStyle;
                IsResizing = false;
                Adorner = null;
                this.Cursor = (popup.Child as FrameworkElement).Cursor;

                PresentationSource source = HwndSource.FromVisual(popup);
                topMost = source.RootVisual;
                SetMouseEvents();
            }
コード例 #5
0
            internal void StartResize(Window sender)
            {
                // damn!!!!
                // I'm forced to use two separated adorners
                // to have it displayed over the popup child
                // and to have it also outside of the child contorl
                // if you know a better way to do this
                // please post a discussion on navigationpane.codeplex.com

                AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(Popup);
                if (adornerLayer != null)
                {
                    Adorner = new PopupAdorner(Popup, Popup.Placement, PopupResizePreviewStyle);
                    adornerLayer.Add(Adorner);
                }

                adornerLayer = AdornerLayer.GetAdornerLayer(Popup.Child);
                if (adornerLayer != null)
                {
                    ChildAdorner = new PopupAdorner(Popup.Child, Popup.Placement, PopupResizePreviewStyle);
                    adornerLayer.Add(ChildAdorner);
                }

                FrameworkElement child = Popup.Child as FrameworkElement;

                FrameworkElement e = topMost as FrameworkElement;
                if(e != null)
                    e.Cursor = System.Windows.Input.Cursors.SizeWE;
                child.Cursor = System.Windows.Input.Cursors.SizeWE;

                IsResizing = true;
            }