public void SetItemCanvas(ItemCanvas ItemCanvas) { this.WindowItemCanvas = ItemCanvas; System.Windows.Controls.Canvas canvasChild = null; foreach (var item in this.LayoutRoot.Children) { if (item is System.Windows.Controls.Canvas) { canvasChild = item as System.Windows.Controls.Canvas; break; } } this.LayoutRoot.Children.Remove(canvasChild); canvasChild = ItemCanvas.Canvas; this.LayoutRoot.Children.Add(canvasChild); Grid.SetRow(canvasChild, 0); Grid.SetColumn(canvasChild, 0); canvasChild.Background = Brushes.Black; canvasChild.Focusable = true; canvasChild.IsEnabled = true; canvasChild.Focus(); }
/// <summary> /// /// </summary> /// <param name="PointSize"></param> /// <param name="MasterThread"></param> /// <returns></returns> public Tuple <Border, ItemCanvas> CreateWindowedItemCanvas( ItemCanvas ParentItemCanvas, double PointSize, MasterThread MasterThread, PaintThread PaintThread, int ContentNum) { Border border = null; System.Windows.Controls.Canvas canvas = null; border = new Border(); border.BorderThickness = new Thickness(3); border.Margin = new Thickness(5); border.BorderBrush = Brushes.Aquamarine; border.CornerRadius = new CornerRadius(3); canvas = new System.Windows.Controls.Canvas(); border.Child = canvas; var itemCanvas = new ItemCanvas( canvas, this.ScreenDim, PointSize, MasterThread, PaintThread, ContentNum); // this.ItemCanvas = itemCanvas; // add this itemCanvas to the Children of the parent ItemCanvas. ParentItemCanvas.AddChild(itemCanvas); // store reference to the Border in the ItemCanvas. Used in the PaintThread // when adding the border and its contained canvas to the Telnet canvas. itemCanvas.BorderControl = border; var boxDim = itemCanvas.CanvasDefn.CharBoxDim; var dim = this.ScreenDim.ToCanvasDim(boxDim); canvas.Width = dim.Width; canvas.Height = dim.Height; canvas.Background = Brushes.Black; canvas.Focusable = true; canvas.IsEnabled = true; canvas.Focus(); return(new Tuple <Border, ItemCanvas>(border, itemCanvas)); }