private void AddItemIntoCanvas(BlockControl block) { var container = new DesignerItemContainer(); container.Content = block; block.Container = container; SetComponent(container, block); //应用样式 var containerStyle = this.BlockContainerStyle; if (containerStyle != null) { container.Style = containerStyle; } container.DataContext = block; container.SetBinding(Canvas.LeftProperty, new Binding { Path = new PropertyPath(BlockControl.LeftProperty), Mode = BindingMode.TwoWay }); container.SetBinding(Canvas.TopProperty, new Binding { Path = new PropertyPath(BlockControl.TopProperty), Mode = BindingMode.TwoWay }); _canvas.Children.Add(container); }
/// <summary> /// 获取引擎元素对应的实体/枚举控件。 /// </summary> /// <param name="item"></param> /// <returns></returns> public static BlockControl GetBlockControl(DesignerItemContainer item) { return(item.Content as BlockControl); }