public void HandleDrop([NotNull] RenderingTreeViewItem renderingTreeViewItem, [NotNull] DragEventArgs dragEventArgs) { Assert.ArgumentNotNull(renderingTreeViewItem, nameof(renderingTreeViewItem)); Assert.ArgumentNotNull(dragEventArgs, nameof(dragEventArgs)); var contextMenu = new ContextMenu { PlacementTarget = this }; foreach (var dynamicProperty in renderingTreeViewItem.Rendering.DynamicProperties) { var bindMode = (BindingMode)dynamicProperty.Attributes["bindmode"]; if (bindMode == BindingMode.Server || bindMode == BindingMode.Write) { continue; } var property = dynamicProperty; var menuItem = new MenuItem { Header = dynamicProperty.Name }; menuItem.Click += (sender, args) => BindTo(renderingTreeViewItem.Rendering.GetDisplayName() + "." + property.Name); contextMenu.Items.Add(menuItem); } if (contextMenu.Items.Count > 0) { ContextMenu = contextMenu; } }
public RenderingContext([NotNull] RenderingTreeViewItem renderingTreeViewItem) { Assert.ArgumentNotNull(renderingTreeViewItem, nameof(renderingTreeViewItem)); RenderingTreeViewItem = renderingTreeViewItem; PageModel = renderingTreeViewItem.DeviceTreeViewItem.Device.PageModel; }
public void HandleDragOver([NotNull] RenderingTreeViewItem renderingTreeViewItem, [NotNull] DragEventArgs e) { Assert.ArgumentNotNull(renderingTreeViewItem, nameof(renderingTreeViewItem)); Assert.ArgumentNotNull(e, nameof(e)); if (renderingTreeViewItem.Rendering.DynamicProperties.Count == 0) { return; } if (renderingTreeViewItem.Rendering.RenderingContainer != Rendering.RenderingContainer) { return; } e.Effects = DragDropEffects.Link; }
public void RemoveRendering(LayoutDesignerItem renderingItem) { Assert.ArgumentNotNull(renderingItem, nameof(renderingItem)); var selectedItems = SelectedItems.ToList(); RenderingTreeViewItem last = null; foreach (var rendering in selectedItems.OfType <RenderingTreeViewItem>()) { rendering.RemoveRendering(); last = rendering; } if (last != null) { last.DeviceTreeViewItem.Device.PageModel.RaiseModified(); } }