public RecycleBin() { this.Background = Brushes.DesignerBackground; image = Visuals.GetImage("recyclebin_empty.png"); image.Margin = new Thickness(16); this.Children.Add(image); this.MouseLeftButtonDown += RecycleBin_MouseLeftButtonDown; new DropTargetCapability(this); }
public XmlPane() { Background = Brushes.DesignerBackground; IsHitTestVisible = true; TextBlock.FontSize = 16; TextBlock.FontFamily = new FontFamily("Consolas, Courier New"); showXaml.Content = "Show XAML"; showXaml.IsChecked = true; showXaml.VerticalAlignment = VerticalAlignment.Center; showXaml.Margin = new Thickness(0, 0, 16, 0); var image = Visuals.GetImage("copyHS.png"); image.HorizontalAlignment = HorizontalAlignment.Center; var buttonContent = new StackPanel(); buttonContent.Orientation = Orientation.Horizontal; buttonContent.Children.Add(image); buttonContent.Children.Add(new TextBlock() { Text = "Copy", HorizontalAlignment = HorizontalAlignment.Center, Margin = new Thickness(4) }); buttonContent.Margin = new Thickness(2); var copyButton = new Button() { Content = buttonContent, MinWidth = 73 }; copyButton.Click += copyButton_Click; scrollViewer.Content = TextBlock; scrollViewer.BorderBrush = null; scrollViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; var toolBar = new StackPanel(); toolBar.Orientation = Orientation.Horizontal; toolBar.Children.Add(showXaml); toolBar.Children.Add(copyButton); this.Children.Add(toolBar); this.Children.Add(scrollViewer); showXaml.Checked += showXaml_Checked; showXaml.Unchecked += showXaml_Checked; }
public ToolboxItem(string imageFileName, string title) { Title = title; this.Orientation = Orientation.Horizontal; var image = Visuals.GetImage(imageFileName); this.Children.Add(image); this.Children.Add(new TextBlock() { Text = title, Margin = new Thickness(14, 0, 0, 0), FontSize = 12, }); }
public Designer() { ActionManager = new ActionManager(); ActionManager.CollectionChanged += ActionManager_CollectionChanged; Background = Brushes.DesignerBackground; this.MouseLeftButtonDown += Designer_MouseLeftButtonDown; this.MouseMove += Designer_MouseMove; this.MouseLeftButtonUp += Designer_MouseLeftButtonUp; this.KeyDown += Designer_KeyDown; this.SizeChanged += Designer_SizeChanged; // 1. ToolBox var toolBox1 = new Toolbox(); Factory.AddToolBoxItem(toolBox1, "Grid"); Factory.AddToolBoxItem(toolBox1, "StackPanel"); toolBox1.HorizontalAlignment = HorizontalAlignment.Stretch; toolBox1.Margin = new Thickness(0, 0, 0, 16); var toolBox2 = new Toolbox(); toolBox2.HorizontalAlignment = HorizontalAlignment.Stretch; Factory.FillToolbox(toolBox2); var toolBox = new StackPanel(); toolBox.Margin = new Thickness(0, 16, 48, 0); toolBox.HorizontalAlignment = HorizontalAlignment.Right; toolBox.VerticalAlignment = VerticalAlignment.Top; toolBox.Children.Add(toolBox1); toolBox.Children.Add(toolBox2); // 2. Root Root = new Root(); // 3. PropertyGrid var propertyGrids = new StackPanel(); propertyGrids.MinWidth = 200; propertyGrids.Margin = new Thickness(48, 16, 0, 0); propertyGrids.HorizontalAlignment = HorizontalAlignment.Left; propertyGrids.VerticalAlignment = VerticalAlignment.Top; PropertyGrid = new PropertyGrid(false); propertyGrids.Children.Add(PropertyGrid); GridPropertyGrid = new PropertyGrid(false); GridPropertyGrid.Margin = new Thickness(0, 32, 0, 0); propertyGrids.Children.Add(GridPropertyGrid); // Recycle Bin RecycleBin = new RecycleBin(); RecycleBin.HorizontalAlignment = HorizontalAlignment.Left; RecycleBin.VerticalAlignment = VerticalAlignment.Top; RecycleBin.UpdateOpacity(); // Undo/Redo undoButton = Visuals.GetImage("Undo32.png"); redoButton = Visuals.GetImage("Redo32.png"); undoButton.MouseLeftButtonDown += undoButton_MouseLeftButtonDown; redoButton.MouseLeftButtonDown += redoButton_MouseLeftButtonDown; redoButton.Margin = new Thickness(16, 0, 0, 0); UpdateUndoRedo(); var undoRedo = new StackPanel(); undoRedo.Children.Add(undoButton); undoRedo.Children.Add(redoButton); undoRedo.HorizontalAlignment = HorizontalAlignment.Center; undoRedo.VerticalAlignment = VerticalAlignment.Top; undoRedo.Margin = new Thickness(16); undoRedo.Orientation = Orientation.Horizontal; // Central part var centralPart = new Grid(); // rows var topRow = new RowDefinition(); topRow.Height = new GridLength(1, GridUnitType.Star); var centerRow = new RowDefinition(); centerRow.Height = GridLength.Auto; var bottomRow = new RowDefinition(); bottomRow.Height = new GridLength(1, GridUnitType.Star); centralPart.RowDefinitions.Add(topRow); centralPart.RowDefinitions.Add(centerRow); centralPart.RowDefinitions.Add(bottomRow); // columns var leftColumn = new ColumnDefinition(); leftColumn.Width = new GridLength(1, GridUnitType.Star); var centerColumn = new ColumnDefinition(); centerColumn.Width = GridLength.Auto; var rightColumn = new ColumnDefinition(); rightColumn.Width = new GridLength(1, GridUnitType.Star); centralPart.ColumnDefinitions.Add(leftColumn); centralPart.ColumnDefinitions.Add(centerColumn); centralPart.ColumnDefinitions.Add(rightColumn); centralPart.Children.Add(toolBox); centralPart.Children.Add(Root); centralPart.Children.Add(propertyGrids); centralPart.Children.Add(RecycleBin); Grid.SetColumn(toolBox, 0); Grid.SetColumn(Root, 1); Grid.SetColumn(propertyGrids, 2); Grid.SetRow(toolBox, 1); Grid.SetRow(Root, 1); Grid.SetRow(propertyGrids, 1); Grid.SetColumn(RecycleBin, 2); Grid.SetRow(RecycleBin, 2); var scrollViewer = new ScrollViewer(); scrollViewer.BorderBrush = null; scrollViewer.BorderThickness = new Thickness(); scrollViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; scrollViewer.Content = centralPart; this.Children.Add(scrollViewer); this.Children.Add(undoRedo); Xaml = new XmlPane(); Xaml.HorizontalAlignment = HorizontalAlignment.Left; Xaml.VerticalAlignment = VerticalAlignment.Top; Xaml.Margin = new Thickness(16); Canvas.SetZIndex(Xaml, -1); this.Children.Add(Xaml); UpdateXaml(); string uri = "http://blogs.msdn.com/b/kirillosenkov"; var link = new HyperlinkButton() { Content = uri, FontSize = 18, FontFamily = new FontFamily("Arial"), Margin = new Thickness(16), TargetName = "_blank", }; link.NavigateUri = new Uri(uri); var linkToolbar = new StackPanel(); linkToolbar.Children.Add(link); linkToolbar.HorizontalAlignment = HorizontalAlignment.Right; linkToolbar.VerticalAlignment = VerticalAlignment.Bottom; this.Children.Add(linkToolbar); var help = Visuals.GetImage("help.png"); help.MouseLeftButtonDown += help_MouseLeftButtonDown; help.Margin = new Thickness(16, 0, 0, 0); fullScreen = Visuals.GetImage("FullScreen32.png"); exitFullScreen = Visuals.GetImage("ExitFullScreen32.png"); fullScreen.MouseLeftButtonDown += fullScreen_MouseLeftButtonDown; exitFullScreen.MouseLeftButtonDown += new MouseButtonEventHandler(exitFullScreen_MouseLeftButtonDown); exitFullScreen.Visibility = Visibility.Collapsed; var topToolbar = new StackPanel(); topToolbar.Children.Add(fullScreen); topToolbar.Children.Add(exitFullScreen); topToolbar.Children.Add(help); topToolbar.VerticalAlignment = VerticalAlignment.Top; topToolbar.HorizontalAlignment = HorizontalAlignment.Right; topToolbar.Orientation = Orientation.Horizontal; topToolbar.Margin = new Thickness(16); this.Children.Add(topToolbar); Canvas = new Canvas(); Canvas.IsHitTestVisible = false; this.Children.Add(Canvas); Instance = this; }