internal void AddAdorner( AdornerLayer treeViewAdornerLayer, FrameworkElement adornedElement, ExplorerEFElement explorerElement, ExplorerFrame explorerFrame) { var adornerY = GetAdornerY(adornedElement, explorerElement, explorerFrame); if (adornerY >= 0) { SearchTickAdorner adorner; if (!_adorners.TryGetValue(adornerY, out adorner)) { adorner = new SearchTickAdorner(adornerY, adornedElement); _adorners[adornerY] = adorner; treeViewAdornerLayer.Add(adorner); // adding adorners in batches of 100 - see bug: Windows OS Bugs 1750717 if ((_adorners.Count % 100) == 0) { treeViewAdornerLayer.UpdateLayout(); } } adorner.AddExplorerElement(explorerElement); } }
private void drag_Rotate_Started(DragListener drag) { _adornerLayer = this.adornerPanel.TryFindParent<AdornerLayer>(); var designerItem = this.ExtendedItem.Component as FrameworkElement; this.parent = VisualTreeHelper.GetParent(designerItem) as UIElement; this.centerPoint = designerItem.TranslatePoint( new Point(designerItem.ActualWidth*designerItem.RenderTransformOrigin.X, designerItem.ActualHeight*designerItem.RenderTransformOrigin.Y), this.parent); Point startPoint = Mouse.GetPosition(this.parent); this.startVector = Point.Subtract(startPoint, this.centerPoint); if (this.rotateTransform == null) { this.initialAngle = 0; } else { this.initialAngle = this.rotateTransform.Angle; } rtTransform = this.ExtendedItem.Properties[FrameworkElement.RenderTransformProperty].Value; operation = PlacementOperation.Start(extendedItemArray, PlacementType.Resize); }
// Methods public DragAdorner(UIElement adornedElement) : base(adornedElement) { this.adornerLayer = AdornerLayer.GetAdornerLayer(adornedElement); this.InitializeAdornment(); DependencyPropertyDescriptor.FromProperty(DragDropState.MousePositionPropertyKey.DependencyProperty, base.AdornedElement.GetType()).AddValueChanged(base.AdornedElement, new EventHandler(this.MousePositionChanged)); }
/// <summary> /// 拖拽工具插头 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Plugitem_PreviewMouseMove(object sender,MouseEventArgs e) { if(e.LeftButton == MouseButtonState.Pressed) { try { AbstractCableKit drogKit = Kits_ListBox.SelectedItem as AbstractCableKit; AbstractCableKit kit = (AbstractCableKit)drogKit.Clone(); Grid grid = sender as Grid; var dragData = new DataObject(typeof(AbstractCableKit), kit); Point pos = e.GetPosition(Kits_ListBox); HitTestResult result = VisualTreeHelper.HitTest(Kits_ListBox, pos); if (result == null) return; ListBoxItem listBoxItem = EquipmentUtils.FindVisualParent<ListBoxItem>(result.VisualHit); // Find your actual visual you want to drag DragDropAdorner adorner = new DragDropAdorner(listBoxItem); adornerLayer = AdornerLayer.GetAdornerLayer(this); adornerLayer.Add(adorner); DragDrop.DoDragDrop(grid, dragData, DragDropEffects.Copy); adornerLayer.Remove(adorner); adornerLayer = null; } catch { } } }
public AdornerDecorator() { AdornerLayer = new AdornerLayer(); ((ISetLogicalParent)AdornerLayer).SetParent(this); AdornerLayer.ZIndex = int.MaxValue; VisualChildren.Add(AdornerLayer); }
// Handler for element selection on the canvas providing resizing adorner void myCanvas_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { // Remove selection on clicking anywhere the window if (selected) { selected = false; if (selectedElement != null) { // Remove the adorner from the selected element aLayer.Remove(aLayer.GetAdorners(selectedElement)[0]); selectedElement = null; } } // If any element except canvas is clicked, // assign the selected element and add the adorner if (e.Source != myCanvas) { _isDown = true; _startPoint = e.GetPosition(myCanvas); selectedElement = e.Source as UIElement; _originalLeft = Canvas.GetLeft(selectedElement); _originalTop = Canvas.GetTop(selectedElement); aLayer = AdornerLayer.GetAdornerLayer(selectedElement); aLayer.Add(new ResizingAdorner(selectedElement)); selected = true; e.Handled = true; } }
/// <summary> /// Initialize the dragging helper /// </summary> /// <param name="panel"></param> public DraggingWidgetHelper(Canvas panel) { Panel = panel; adornerLayer = AdornerLayer.GetAdornerLayer(panel); elements = new Dictionary<FrameworkElement, ResizingAdorner>(); ElementsRightBottom = new Dictionary<FrameworkElement, Point>(); }
private void WindowLoaded(object sender, RoutedEventArgs e) { adornerLayer = AdornerLayer.GetAdornerLayer(elementsGrid); foreach (Panel toAdorn in elementsGrid.Children) adornerLayer.Add(new ResizingAdorner(toAdorn.Children[0])); }
private void OnLoaded(object sender, RoutedEventArgs routedEventArgs) { canvas = this.GetVisualChild<Canvas>(); adornerlayer = AdornerLayer.GetAdornerLayer(this); var designableDragAndResizeChrome = new DesignableResizeChrome(selection); selectionAdorner = new DesignableResizeAdorner(canvas, selection, designableDragAndResizeChrome); }
private static void ClearAdorner(AdornerLayer layer, LightBoxAdorner adorner) { // null条件演算子でいいかも。 if (layer != null && adorner != null) { layer.Remove(adorner); } }
public void Dispose() { if (layer != null) { layer.Remove(this); layer = null; } }
public DragAdorner(object data, DataTemplate dataTemplate, UIElement adornedElement, AdornerLayer adornerLayer) : base(adornedElement) { _adornerLayer = adornerLayer; _contentPresenter = new ContentPresenter() { Content = data, ContentTemplate = dataTemplate, Opacity = 0.75 }; _adornerLayer.Add(this); }
public ColumnReorderingDragSourceManager( UIElement draggedElement, AdornerLayer adornerLayerInsideDragContainer, UIElement dragContainer, bool enableAutoScroll ) : this( draggedElement, adornerLayerInsideDragContainer, dragContainer, enableAutoScroll, true ) { }
public DraggedAdorner(AdornerLayer adornerLayer, UIElement uiElement, DataTemplate dragDropTemplate) : base(uiElement) { this.contentPresenter = new ContentPresenter(); this.contentPresenter.ContentTemplate = dragDropTemplate; this.adornerLayer = adornerLayer; this.adornerLayer.Add(this); }
/// <summary> /// Initializes a new instance of the <see cref="DADAdorner"/> class. /// </summary> /// <param name="data"> /// Dragged control UiElement /// </param> /// <param name="adornedElement"> /// Background of dragged control /// </param> /// <param name="adoLayer"> /// Layer for adorner object /// </param> public DADAdorner(UIElement data, UIElement adornedElement, AdornerLayer adoLayer) : base(adornedElement) { this.adoLayer = adoLayer; this.contentPresenter = new ContentPresenter { Content = data }; this.adoLayer.Add(this); }
public ColumnReorderingDragSourceManager( UIElement draggedElement, AdornerLayer adornerLayerInsideDragContainer, UIElement dragContainer, bool enableAutoScroll, bool showDraggedElementGhost ) : base( draggedElement, adornerLayerInsideDragContainer, dragContainer, enableAutoScroll, showDraggedElementGhost ) { }
public DropPreviewAdorner(object feedbackUI, UIElement adornedElt, AdornerLayer layer) : base(adornedElt) { Layer = layer; presenter = new ContentPresenter(); presenter.Content = feedbackUI; presenter.IsHitTestVisible = false; }
private void Window_Loaded_1(object sender, RoutedEventArgs e) { myAdornerLayer = AdornerLayer.GetAdornerLayer(win); myAdornerLayer.Add(new SimpleCircleAdorner(win)); //myAdornerLayer = AdornerLayer.GetAdornerLayer(pnl); //foreach (UIElement toAdorn in pnl.Children) // myAdornerLayer.Add(new SimpleCircleAdorner(toAdorn)); }
/// <summary> /// Initializes a new instance of the <see cref="TextBoxVisibleWhiteSpaceDecorator"/> class. /// </summary> public TextBoxVisibleWhiteSpaceDecorator() { Loaded += Self_Loaded; AddLogicalChild(_adornerDecorator); AddVisualChild(_adornerDecorator); _adornerLayer = _adornerDecorator.AdornerLayer; }
public void ClearSearchHelper() { if(al==null) al = AdornerLayer.GetAdornerLayer(editor); ; foreach (SelectionHighlightAdorner sha in selection_adoner) { al.Remove(sha); } selection_adoner.Clear(); al.Update(); }
public DraggedAdorner(object dragDropData, DataTemplate dragDropTemplate, UIElement adornedElement, AdornerLayer adornerLayer) : base(adornedElement) { this.adornerLayer = adornerLayer; this.contentPresenter = new ContentPresenter(); this.contentPresenter.Content = dragDropData; this.contentPresenter.ContentTemplate = dragDropTemplate; this.contentPresenter.Opacity = 0.7; this.adornerLayer.Add(this); }
public DragSourceManager( UIElement draggedElement, AdornerLayer adornerLayerInsideDragContainer, UIElement dragContainer ) : this( draggedElement, adornerLayerInsideDragContainer, dragContainer, true ) { }
protected ControlHostAdornerBase(UIElement adornedElement) : base(adornedElement) { _adornerLayer = AdornerLayer.GetAdornerLayer(adornedElement); Host = new Grid(); if (AdornerLayer != null) { AdornerLayer.Add(this); } }
public PostionAdorner(UIElement adornedElement, AdornerLayer adornerLayer, DataTemplate dataTemplate) : base(adornedElement) { _adornerLayer = adornerLayer; _contentPresenter = new ContentPresenter(); _contentPresenter.ContentTemplate = dataTemplate; //加入层中 _adornerLayer.Add(this); }
private void Window_Loaded(object sender, RoutedEventArgs e) { aLayer = AdornerLayer.GetAdornerLayer(textBox1); aLayer.Add(new ScaleAdorner(textBox1)); //this.MouseLeftButtonDown += new MouseButtonEventHandler(Window1_MouseLeftButtonDown); //this.MouseLeftButtonUp += new MouseButtonEventHandler(DragFinishedMouseHandler); //this.MouseMove += new MouseEventHandler(Window1_MouseMove); //this.MouseLeave += new MouseEventHandler(Window1_MouseLeave); //myCanvas.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(myCanvas_PreviewMouseLeftButtonDown); //myCanvas.PreviewMouseLeftButtonUp += new MouseButtonEventHandler(DragFinishedMouseHandler); }
public HighLight_Adorner(UIElement adornedElement, Point startPosition, Size size,double opacity, AdornerLayer adornerLayer) : base(adornedElement) { this.opacity = opacity; this.size = size; this.adornerLayer = adornerLayer; adornerLayer.Add(this); this.position = startPosition; }
/// <summary> /// Initializes a new instance of the <see cref="DragAdorner"/> class. /// </summary> /// <param name="data">The data that's being dragged.</param> /// <param name="dataTemplate">The data template to show while dragging.</param> /// <param name="adornedElement">The adorned element.</param> /// <param name="adornerLayer">The adorner layer.</param> public DragAdorner(object data, DataTemplate dataTemplate, UIElement adornedElement, AdornerLayer adornerLayer) : base(adornedElement) { Argument.IsNotNull("data", data); Argument.IsNotNull("adornerLayer", adornerLayer); _myAdornerLayer = adornerLayer; _myContentPresenter = new ContentPresenter { Content = data, ContentTemplate = dataTemplate, Opacity = 0.75 }; _myAdornerLayer.Add(this); }
private void SimDoubleClick(object sender, MouseButtonEventArgs e) { bool canDrawOutPlug = BackPanelUtil.SimDoubleClick(sender, e); if (canDrawOutPlug) { SocketAttatch.SetPlugOut(this, 1); } else { PlugInfoAdorner adorner = new PlugInfoAdorner(this); mAdornerLayer = AdornerLayer.GetAdornerLayer(this); mAdornerLayer.Add(adorner); // mAdornerLayer.Remove(adorner); // mAdornerLayer = null; } }
public void Update(DropType dropType) { if (_layer == null) { _layer = AdornerLayer.GetAdornerLayer(AdornedElement); _layer.Add(this); } _parentAdorner?.Remove(); _dropType = dropType; _layer.Update(AdornedElement); Visibility = Visibility.Visible; }
public void AddImageResizers(RichTextBox editor) { var images = GetVisuals(editor).OfType<Image>(); al = AdornerLayer.GetAdornerLayer(editor); foreach (var image in images) { current = new ResizingAdorner(new ResizingAdorner(image)); //ResizingAdorner ral = new ResizingAdorner(image); al.Add(current); al.Update(); //LIBTODO: } }
private void lvUsersColumnHeader_Click(object sender, RoutedEventArgs e) { GridViewColumnHeader column = (sender as GridViewColumnHeader); string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); uxContactList.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); uxContactList.Items.SortDescriptions.Add(new SortDescription(sortBy, newDir)); }
private static void OnIsInEditModePropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e) { var textBlock = obj as TextBlock; if (textBlock == null) { throw new ArgumentException("IsInEditMode property can only be set on TextBlock"); } //Get the adorner layer of the uielement (here TextBlock) var layer = AdornerLayer.GetAdornerLayer(textBlock); //If the IsInEditMode set to true means the user has enabled the edit mode then //add the adorner to the adorner layer of the TextBlock. if (layer != null) { if ((bool)e.NewValue) { layer.Add(new EditableTextBlockAdorner(textBlock)); } else if ((bool)e.OldValue) { var adorner = GetAdorner(textBlock); if (adorner != null) { layer.Remove(adorner); } // Update the textblock's text binding. var expression = textBlock.GetBindingExpression(TextBlock.TextProperty); if (null != expression) { expression.UpdateTarget(); } } } }
public override void Activate() { _poly = AdornedElement as Polyline; if (_poly == null) { throw new ArgumentException(); } foreach (var p in _poly.Points) { var pd = new PointDragThumb(_view, AdornedElement as FrameworkElement); pd.DragStarted += PointDragStarted; pd.DragDelta += PointDragDelta; pd.PreviewMouseLeftButtonUp += OnPreviewMouseLeftButtonUp; visualChildren.Add(pd); } for (int i = 0; i < _poly.Points.Count; i++) { var m = _poly.GeometryTransform.Value; var p = m.Transform(_poly.Points[i]); p = _poly.TranslatePoint(p, _view.MainPanel); _poly.Points[i] = p; } _poly.Stretch = Stretch.None; EditorHelper.SetDependencyProperty(_poly, Canvas.LeftProperty, DependencyProperty.UnsetValue); EditorHelper.SetDependencyProperty(_poly, Canvas.TopProperty, DependencyProperty.UnsetValue); EditorHelper.SetDependencyProperty(_poly, FrameworkElement.WidthProperty, DependencyProperty.UnsetValue); EditorHelper.SetDependencyProperty(_poly, FrameworkElement.HeightProperty, DependencyProperty.UnsetValue); _poly.RenderTransform = null; AdornerLayer.GetAdornerLayer(AdornedElement).PreviewMouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(PolylineEditManipulantor_PreviewMouseLeftButtonDown); _poly.UpdateLayout(); base.Activate(); }
/// <summary> /// Sorts the grid view column /// </summary> /// <param name="column"></param> private void SetSort(GridViewColumnHeader column) { try { if (column != null) { String field = column.Tag as String; // Clear the previous data. if (currentSortCol != null) { AdornerLayer.GetAdornerLayer(currentSortCol).Remove(currentAdorner); ReminderList.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (currentSortCol == column && currentAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } currentSortCol = column; currentAdorner = new SortAdorner(currentSortCol, newDir); ReminderList.Items.SortDescriptions.Add(new SortDescription(field, newDir)); // Check to see if the adorner var Layer = AdornerLayer.GetAdornerLayer(currentSortCol); if (Layer != null) { Layer.Add(currentAdorner); } } } catch (Exception) { } }
private static void OnListViewHeaderClick(object sender, RoutedEventArgs e) { ListView listView = e.Source as ListView; GridViewColumnHeader header = e.OriginalSource as GridViewColumnHeader; SortInfo sortInfo = listView.GetValue(SortInfoProperty.DependencyProperty) as SortInfo; if (sortInfo != null) { AdornerLayer.GetAdornerLayer(sortInfo.LastSortColumn).Remove(sortInfo.CurrentAdorner); listView.Items.SortDescriptions.Clear(); } else { sortInfo = new SortInfo(); } if (sortInfo.LastSortColumn == header) { (sortInfo.CurrentAdorner.Child as ListSortDecorator).SortDirection = (sortInfo.CurrentAdorner.Child as ListSortDecorator).SortDirection == ListSortDirection.Ascending ? ListSortDirection.Descending : ListSortDirection.Ascending; } else { sortInfo.CurrentAdorner = new UIElementAdorner(header, new ListSortDecorator()); } sortInfo.LastSortColumn = header; listView.SetValue(SortInfoProperty, sortInfo); AdornerLayer.GetAdornerLayer(header).Add(sortInfo.CurrentAdorner); SortDescription sortDescriptioin = new SortDescription() { Direction = (sortInfo.CurrentAdorner.Child as ListSortDecorator).SortDirection, PropertyName = header.Column.GetValue(SortFieldProperty) as string ?? header.Column.Header as string }; listView.Items.SortDescriptions.Add(sortDescriptioin); }
private void UserControl_Loaded(object sender, System.Windows.RoutedEventArgs e) { try { imageViewXY.ViewingPlaneIndex = Xvue.MSOT.Services.Imaging.ImagingConstants.BufferIndexXY; imageViewXZ.ViewingPlaneIndex = Xvue.MSOT.Services.Imaging.ImagingConstants.BufferIndexXZ; imageViewYZ.ViewingPlaneIndex = Xvue.MSOT.Services.Imaging.ImagingConstants.BufferIndexYZ; imageViewXY.GridPercentageWidthStepSize = "GridStepSizePercentageXY"; imageViewXZ.GridPercentageWidthStepSize = "GridStepSizePercentageXY"; imageViewYZ.GridPercentageWidthStepSize = "GridStepSizePercentageZ"; //Set different colors to Image borders that do not change. _3DRenderingControl.text3DControl.BorderXYColor = Colors.Blue; _3DRenderingControl.text3DControl.BorderYZColor = Colors.Green; _3DRenderingControl.text3DControl.BorderXZColor = Colors.Yellow; imageViewXY.zpImageBorder.BorderBrush = imageViewXY.imageCanvasBorder.BorderBrush = new SolidColorBrush(_3DRenderingControl.text3DControl.BorderXYColor); imageViewYZ.zpImageBorder.BorderBrush = imageViewYZ.imageCanvasBorder.BorderBrush = new SolidColorBrush(_3DRenderingControl.text3DControl.BorderYZColor); imageViewXZ.zpImageBorder.BorderBrush = imageViewXZ.imageCanvasBorder.BorderBrush = new SolidColorBrush(_3DRenderingControl.text3DControl.BorderXZColor); refreshCrossHairPARTColors(); imageAdornerLayer = AdornerLayer.GetAdornerLayer(imageViewXY.backgroundImage); //AdornerLayer imageYZAdornerLayer = AdornerLayer.GetAdornerLayer(imageViewYZ.backgroundImage); //AdornerLayer imageXZAdornerLayer = AdornerLayer.GetAdornerLayer(imageViewXZ.backgroundImage); //imageAdornerLayer.Add(_roiAdorner); model3DPane = (base.DataContext as ViewModel3DPane); initUpdateCropLimitDetailsAdorner(); } catch { } }
private void OnListViewLoaded() { if (!_firstLoad) { return; } var gridView = _listView.View as GridView; if (gridView == null) { return; } foreach (var column in gridView.Columns) { var header = column.Header as GridViewColumnHeader; if (header != null) { // The "Loaded" event is called multiple times for UI elements inside // a tab control. The first "Loaded" event is called when the control // is not visible yet, meaning there are no adornment layers for the column // headers of the listview. The next "Loaded" events are called when // the containing TabItem is activated. We use the trick below // to figure out when it is safe to add the "Sorter" adornment, but // we must do it only once. if (AdornerLayer.GetAdornerLayer(header) != null) { _firstLoad = false; if (Wpf.ListViewSorter.GetInitialSortColumn(header)) { HeaderClick(header); } } } } }
private void BeginDrag(MouseEventArgs e) { ListView listView = this.FileNameListView; ListViewItem listViewItem = FindAncestor <ListViewItem>((DependencyObject)e.OriginalSource); if (listViewItem == null) { return; } // get the data for the ListViewItem //object name = listView.ItemContainerGenerator.ItemFromContainer(listViewItem); int index = listView.ItemContainerGenerator.IndexFromContainer(listViewItem); //setup the drag adorner. InitialiseAdorner(listViewItem); //add handles to update the adorner. listView.PreviewDragOver += FileNameListView_DragOver; listView.DragLeave += FileNameListView_DragLeave; listView.DragEnter += FileNameListView_DragEnter; DataObject data = new DataObject("myFormat", index); DragDropEffects de = DragDrop.DoDragDrop(this.FileNameListView, data, DragDropEffects.Move); //cleanup listView.PreviewDragOver -= FileNameListView_DragOver; listView.DragLeave -= FileNameListView_DragLeave; listView.DragEnter -= FileNameListView_DragEnter; if (_adorner != null) { AdornerLayer.GetAdornerLayer(listView).Remove(_adorner); _adorner = null; } }
private async void PageShelf_Loaded(object sender, RoutedEventArgs e) { FingerprintManager.SetError += FingerprintManager_SetError; FingerprintManager.Touched += FingerprintManager_Touched; App.CurrentApp.TagChanged += CurrentApp_TagChanged; RfidManager.ClearCache(); // 注:将来也许可以通过(RFID 以外的)其他方式输入图书号码 if (string.IsNullOrEmpty(RfidManager.Url)) { this.SetGlobalError("rfid", "尚未配置 RFID 中心 URL"); } _layer = AdornerLayer.GetAdornerLayer(this.mainGrid); _adorner = new LayoutAdorner(this); { List <string> style = new List <string>(); if (string.IsNullOrEmpty(App.RfidUrl) == false) { style.Add("rfid"); } if (string.IsNullOrEmpty(App.FingerprintUrl) == false) { style.Add("fingerprint"); } if (string.IsNullOrEmpty(App.FaceUrl) == false) { style.Add("face"); } this.patronControl.SetStartMessage(StringUtil.MakePathList(style)); } await Fill(new CancellationToken()); }
private void CreateAndAttachBackstageAdorner() { if (this.adorner != null) { return; } if (DesignerProperties.GetIsInDesignMode(this)) { // TODO: in design mode it is required to use design time adorner var topLevelElement = (FrameworkElement)VisualTreeHelper.GetParent(this); var topOffset = this.TranslatePoint(new Point(0, this.ActualHeight), topLevelElement).Y; this.adorner = new BackstageAdorner(topLevelElement, this.Content, topOffset); } else { var mainWindow = Window.GetWindow(this); if (mainWindow == null) { return; } var topLevelElement = (FrameworkElement)mainWindow.Content; if (topLevelElement == null) { return; } var topOffset = this.TranslatePoint(new Point(0, this.ActualHeight), topLevelElement).Y; this.adorner = new BackstageAdorner(topLevelElement, this.Content, topOffset); } var layer = AdornerLayer.GetAdornerLayer(this); layer.Add(this.adorner); }
private static void OnShowContextPanelChanged(DependencyObject d, DependencyPropertyChangedEventArgs args) { ItemSkimmingPanel skimmingPanel = d as ItemSkimmingPanel; if ((bool)args.NewValue) { AdornerLayer layer = AdornerLayer.GetAdornerLayer(skimmingPanel); skimmingPanel._contextAdorner = new SkimmingContextAdorner(skimmingPanel); layer.Add(skimmingPanel._contextAdorner); skimmingPanel._contextAdorner.SelectItem(skimmingPanel._selectedIndex, skimmingPanel._previousIndex); } else { AdornerLayer layer = AdornerLayer.GetAdornerLayer(skimmingPanel); if (skimmingPanel._contextAdorner != null) { layer.Remove(skimmingPanel._contextAdorner); } skimmingPanel._contextAdorner = null; } }
// Handler for element selection on the canvas providing resizing adorner private void myCanvas_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { // Remove selection on clicking anywhere the window if (selected) { selected = false; _isDrawing = true; if (selectedElement != null) { // Remove the adorner from the selected element aLayer.Remove(aLayer.GetAdorners(selectedElement)[0]); selectedElement = null; } } // If any element except canvas is clicked, // assign the selected element and add the adorner if (e.Source != canvas) { _isDown = true; _isDrawing = false; _startPoint = e.GetPosition(canvas); selectedElement = e.Source as UIElement; rect = e.Source as Rectangle; _originalLeft = Canvas.GetLeft(selectedElement); _originalTop = Canvas.GetTop(selectedElement); aLayer = AdornerLayer.GetAdornerLayer(selectedElement); aLayer.Add(new HelperAdorner(selectedElement)); selected = true; e.Handled = true; } }
/// <summary> /// Attaches this adorner to the adorned element /// </summary> public void Attach() { if (this.attached) { return; } this.oneOfAssociatedElements.UpdateLayout(); this.Log("Attach begin {0}", this.Visibility); if (this.oneOfAssociatedElements.IsLoaded == false) { // Delay attaching this.Log("Delaying attach"); this.oneOfAssociatedElements.Loaded += this.OnDelayAttach; return; } this.adornerLayer = GetAdornerLayer(this.oneOfAssociatedElements); if (this.adornerLayer == null) { this.Log("No adorner layer found"); return; } this.FilterKeyTips(string.Empty); // Show this adorner this.adornerLayer.Add(this); this.attached = true; this.Log("Attach end"); }
private void listBoxItem_PreviewMouseMove(object sender, MouseEventArgs e) { var lbi = sender as ListBoxItem; if (e.LeftButton == MouseButtonState.Pressed && dragGhost == null && dragItem == lbi) { var nowPos = e.GetPosition(lbi); if (Math.Abs(nowPos.X - dragStartPos.X) > SystemParameters.MinimumHorizontalDragDistance || Math.Abs(nowPos.Y - dragStartPos.Y) > SystemParameters.MinimumVerticalDragDistance) { ItemList.AllowDrop = true; var layer = AdornerLayer.GetAdornerLayer(ItemList); dragGhost = new DragAdorner(ItemList, lbi, 0.5, dragStartPos); layer.Add(dragGhost); DragDrop.DoDragDrop(lbi, lbi, DragDropEffects.Move); layer.Remove(dragGhost); dragGhost = null; dragItem = null; ItemList.AllowDrop = false; } } }
public static void sortColumn(object sender, ListView listViewControl) { try { GridViewColumnHeader column = (sender as GridViewColumnHeader); string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); listViewControl.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); listViewControl.Items.SortDescriptions.Add(new SortDescription(sortBy, newDir)); } catch (Autodesk.Civil.CivilException ex) { GH.errorBox(ex.ToString()); } catch (Autodesk.AutoCAD.Runtime.Exception ex) { GH.errorBox(ex.ToString()); } catch (System.Exception ee) { GH.errorBox(ee.ToString()); } }
private void AddCropToElement(FrameworkElement fel) { if (_felCur != null) { return; } var rcInterior = new Rect( 0, 0, fel.ActualWidth, fel.ActualHeight); var adornerLayer = AdornerLayer.GetAdornerLayer(fel); _clp = new CroppingAdorner(fel, rcInterior); _felCur = fel; var color = Colors.Black; color.A = 180; _clp.Fill = new SolidColorBrush(color); adornerLayer.Add(_clp); adornerLayer.UpdateLayout(); var dx = 1d / _clp.ClippingRectangle.Width * _imageWidth; var dy = 1d / _clp.ClippingRectangle.Height * _imageHeight; _clp.SetClippingRectangle(new Rect( Configuration.Configuration.Instance.Settings.ClippingRectangle.X / dx, Configuration.Configuration.Instance.Settings.ClippingRectangle.Y / dy, Configuration.Configuration.Instance.Settings.ClippingRectangle.Width / dx, Configuration.Configuration.Instance.Settings.ClippingRectangle.Height / dy )); UpdateClippingRectangle(); _clp.CropChanged += (sender, args) => { UpdateClippingRectangle(); }; Image.SizeChanged += ImageSizeChanged; }
public override void OnApplyTemplate() { base.OnApplyTemplate(); TextBlock textBlock = GetTemplateChild("PART_DisplayTextBlockPart") as TextBlock; Debug.Assert(textBlock != null, "No TextBlock!"); this.Focusable = false; _adorner = new EditBoxAdorner(this, textBlock); RoutedEventHandler attachedHandler = null; attachedHandler = delegate { textBlock.Loaded -= attachedHandler; AdornerLayer layer = AdornerLayer.GetAdornerLayer(textBlock); if (layer != null) { layer.Add(_adorner); } }; textBlock.Loaded += attachedHandler; }
/// <summary> /// </summary> /// <typeparam name="T"></typeparam> /// <param name="element"></param> /// <returns></returns> public static T GetCurrentWindowAdorner <T>(this UIElement element) { var window = Window.GetWindow(element); if ((window != null) && window.Content is UIElement) { var adornerLayer = AdornerLayer.GetAdornerLayer(window.Content as UIElement); if (adornerLayer != null) { var adorners = adornerLayer.GetAdorners(element); if (adorners != null) { foreach (var adorner in adorners) { if (adorner is T) { return((T)(object)adorner); } } } } } return(default(T)); }
/// <summary> /// Обрабатывает движение мыши при множественном выделении элементов раскадровки /// </summary> /// <param name="eventArgs"></param> protected override void OnMouseMove(MouseEventArgs eventArgs) { base.OnMouseMove(eventArgs); if (eventArgs.LeftButton != MouseButtonState.Pressed) { DragStartPoint = null; } if (DragStartPoint.HasValue) { AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(this); if (adornerLayer != null) { MultipleSelectionAdorner adorner = new MultipleSelectionAdorner(this, DragStartPoint); if (adorner != null) { adornerLayer.Add(adorner); } } eventArgs.Handled = true; } }
private void GridViewColumnHeader_Click(object sender, RoutedEventArgs e) { var column = sender as GridViewColumnHeader; var sort_by = column.Tag.ToString(); var listview_files = WindowUtils.FindParent <ListView>(column); if (this.listview_sort_column != null) { AdornerLayer.GetAdornerLayer(this.listview_sort_column).Remove(this.listview_sort_adorner); listview_files.Items.SortDescriptions.Clear(); } ListSortDirection direction = ListSortDirection.Ascending; if (this.listview_sort_column == column && this.listview_sort_adorner.Direction == direction) { direction = ListSortDirection.Descending; } this.listview_sort_column = column; this.listview_sort_adorner = new SortAdorner(this.listview_sort_column, direction); AdornerLayer.GetAdornerLayer(this.listview_sort_column).Add(this.listview_sort_adorner); listview_files.Items.SortDescriptions.Add(new SortDescription(sort_by, direction)); }
private static PlaceholderAdorner GetAdorner(Control control) { var layer = AdornerLayer.GetAdornerLayer(control); if (layer != null) { var adorners = layer.GetAdorners(control); if (adorners != null) { foreach (var adorner in adorners) { var placeholder = adorner as PlaceholderAdorner; if (placeholder != null) { return(placeholder); } } } } return(null); }
/// <summary> /// Insert a Comment (Commented Assignment Only) for the /// current selection in the TextArea. /// </summary> private void OnAddCommentToSelection(object sender, RoutedEventArgs e) { try { if (this._textArea.Selection.IsEmpty) { return; } TextPointer tp1 = this._textArea.Selection.Start; TextPointer tp2 = this._textArea.Selection.End; TextRange range = new TextRange(tp1, tp2); range.ApplyPropertyValue(TextElement.BackgroundProperty, new SolidColorBrush(Color.FromArgb(80, 0, 255, 0))); ReportCommentAdorner comAd = new ReportCommentAdorner( this._textArea, tp1, tp2, this.CurrentOwnerName, this.CurrentOwnerId, new List <EjpLib.BaseClasses.ejpCACommentMessage>(), EjpLib.Helpers.IdManipulation.GetNewGuid()); AdornerLayer commentAdornerLayer = AdornerLayer.GetAdornerLayer(this._textArea); comAd.OnCommentAdornerDeleted += new CommentAdornerDeleted(OnCommentAdornerDeleted); commentAdornerLayer.Add(comAd); this._commentAdorners.Add(comAd); } catch (Exception ex) { SiliconStudio.DebugManagers.DebugReporter.Report( SiliconStudio.DebugManagers.MessageType.Error, "EjpControls - Report Editor", "Failed to Add Comment to Selection" + "\nParent Study ID: " + this.ParentStudyId.ToString() + "\nReport ID: " + this._reportObject.Id.ToString() + "\nError: " + ex.Message); throw; } }
public void lvColumnHeader_Click(object sender, RoutedEventArgs e) { GridViewColumnHeader column = (e.OriginalSource as GridViewColumnHeader); string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); (sender as ListView).Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); (sender as ListView).Items.SortDescriptions.Add(new SortDescription(sortBy, newDir)); e.Handled = true; }
/// <summary> /// 把当前层加入到内部层中。 /// </summary> private void MoveToInnerLayer(AdornerLayer targetLayer) { var layerParent = VisualTreeHelper.GetParent(targetLayer) as Visual; var root = VisualTreeHelper.GetChild(layerParent, 0) as UIElement; if (root != null) { if (!_removed) { _removed = true; _scope.GotKeyboardFocus -= scope_GotKeyboardFocus; //必须重新构造一个,否则由于 AdornedElement 不在 root 内,造成无法添加到 targetLayer 中。 var tracker = new FocusTrackerAdorner(root, targetLayer, _scope, _scopeLayer); targetLayer.Add(tracker); //设置初始的位置。 var startFrom = _focusedElement.TransformToAncestor(root).Transform(new Point()); tracker._tracker.MoveTo(new Rect(startFrom, _focusedElement.RenderSize), false); _layer.Remove(this); } } }
/// <summary> /// Internal method to hide the adorner. /// </summary> private void HideAdornerInternal() { if (this.adornerLayer == null || this.adorner == null) { // Not already adorned. return; } // // Stop the timer that might be about to fade out the adorner. // closeAdornerTimer.Stop(); this.adornerLayer.Remove(this.adorner); this.adorner.DisconnectChild(); this.adorner = null; this.adornerLayer = null; // // Ensure that the state of the adorned control reflects that // the the adorner is no longer. // this.adornerShowState = AdornerShowState.Hidden; }
private void ConstructGhostAdornerWithHandlers(Point initialPoint, FrameworkElement adornedElement, TouchEventArgs e) { AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(adornedElement); GalaxyAdorner adorner = new GalaxyAdorner(adornedElement, initialPoint); if (adornerLayer != null && adorner != null) { adornerLayer.Add(adorner); } else { return; } EventHandler <TouchEventArgs> moveHandler = new EventHandler <TouchEventArgs>((s, evt) => DragDropContainer_TouchMove(s, e, adorner)); EventHandler <TouchEventArgs> upHandler = new EventHandler <TouchEventArgs>((s, evt) => DragDropContainer_TouchUp(s, evt, adorner, adornedElement)); EventHandler <TouchEventArgs> unsubscribeHandler = new EventHandler <TouchEventArgs>((s, evt) => DragDropContainer_Unsubscribe(s, e, moveHandler, upHandler, adorner)); adorner.UnsubscribeEvent = unsubscribeHandler; DragOverlay.TouchMove += moveHandler; DragOverlay.TouchUp += upHandler; DragOverlay.TouchUp += unsubscribeHandler; }
public DataAssistAdorner(UIElement adornedElement, AdornerLayer adornerLayer, DataTemplate contentTemplate, object tooltip, string dataAssistText) : base(adornedElement, adornerLayer) { this.AdornedControlType = adornedElement.GetType().ToString(); this.ToolTip = tooltip; this.DataAssistText = dataAssistText; this.DataContext = this; if (this.AdornedElement != null) { Binding b3 = new Binding("IsVisible"); b3.Source = adornedElement; b3.Converter = new BoolToVisibilityConverter(); this.SetBinding(Adorner.VisibilityProperty, b3); Binding b1 = new Binding("ActualHeight"); b1.Source = adornedElement; this.contentHost.SetBinding(Grid.HeightProperty, b1); Binding b2 = new Binding("ActualWidth"); b2.Source = adornedElement; this.contentHost.SetBinding(Grid.WidthProperty, b2); this.contentPresenter = new ContentPresenter(); this.contentPresenter.Content = this; this.contentPresenter.ContentTemplate = contentTemplate; this.contentHost.Children.Add(this.contentPresenter); } this.AddHandler(Button.ClickEvent, new RoutedEventHandler(OnButtonCopyToClipboard)); base.AddVisualChild(this.contentHost); if (this._adornerLayer != null) { this._adornerLayer.Add(this); } }
protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); if (e.LeftButton != MouseButtonState.Pressed) { dragStartPoint = null; } if (dragStartPoint.HasValue) { AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(this); if (adornerLayer != null) { RubberbandAdorner adorner = new RubberbandAdorner(this, dragStartPoint); if (adorner != null) { adornerLayer.Add(adorner); } } e.Handled = true; } }
private void AddErrorAdorner() { if (AssociatedObject is null) { return; } var adornerLayer = AdornerLayer.GetAdornerLayer(AssociatedObject); if (adornerLayer is null) { return; } var adorner = adornerLayer.GetAdorners(AssociatedObject) ?.OfType <ErrorAdorner>() .FirstOrDefault(); if (adorner is null) { adorner = new ErrorAdorner(AssociatedObject); adornerLayer.Add(adorner); } }
/// <summary> /// Internal method to show the adorner. /// </summary> private void ShowAdornerInternal() { if (_adorner != null) { // Already adorned. return; } if (AdornerContent != null) { if (_adornerLayer == null) { _adornerLayer = AdornerLayer.GetAdornerLayer(this); } if (_adornerLayer != null) { _adorner = new FrameworkElementAdorner(AdornerContent, this, HorizontalAdornerPlacement, VerticalAdornerPlacement, AdornerOffsetX, AdornerOffsetY); _adornerLayer.Add(_adorner); UpdateAdornerDataContext(); } } }