public BloqueControl(TipoBloques Creacion_TipoBloque, TextoInterno Creacion_TextoEtiqueta, Point Creacion_PuntoOrigen, Size Creacion_Dims) { // definir el texto de la etiqueta de texto FijarTextoInterno(Creacion_TextoEtiqueta); this.Blq_TipoBloque = Creacion_TipoBloque; this.Blq_EtiquetaInterna.Width = Creacion_Dims.Width; this.Blq_EtiquetaInterna.Height = Creacion_Dims.Height; // posicionar y dimencionar el contenedro principal this.Blq_ContenedorPrincipal.Width = Creacion_Dims.Width; this.Blq_ContenedorPrincipal.Height = Creacion_Dims.Height; Canvas.SetTop(this.Blq_ContenedorPrincipal, Creacion_PuntoOrigen.Y); Canvas.SetLeft(this.Blq_ContenedorPrincipal, Creacion_PuntoOrigen.X); // poscicionar y dimencionar la forma del this.Blq_FormaExterna.Height = Creacion_Dims.Height - 1; this.Blq_FormaExterna.Width = Creacion_Dims.Width - 1; // pintar el control del color adecuado ColorearBloque(Creacion_TipoBloque); // generar la composicion de los controles this.Blq_ContenedorPrincipal.Children.Add(this.Blq_FormaExterna); this.Blq_ContenedorPrincipal.Children.Add(Blq_EtiquetaInterna); // suscribirse a los eventos del raton this.Blq_ContenedorPrincipal.MouseDown += UserControl_MouseDown; this.Blq_ContenedorPrincipal.MouseMove += UserControl_MouseMove; this.Blq_ContenedorPrincipal.MouseUp += UserControl_MouseUp; }
private void ColorearBloque(TipoBloques TipoEntrada) { switch (TipoEntrada) { case TipoBloques.Tipo_Bloque_Lineal: this.Blq_ContenedorPrincipal.Background = Brushes.Orange; break; case TipoBloques.Tipo_Bloque_Ciclo_For: this.Blq_ContenedorPrincipal.Background = Brushes.Orange; break; case TipoBloques.Tipo_Bloque_Ciclo_While: this.Blq_ContenedorPrincipal.Background = Brushes.Blue; break; case TipoBloques.Tipo_Bloque_Switch: OpenFileDialog c = new OpenFileDialog(); c.ShowDialog(); string ruta = c.FileName; ImageBrush fondo = new ImageBrush(); fondo.ImageSource = new BitmapImage(new Uri(ruta)); this.Blq_ContenedorPrincipal.Background = fondo; break; } }