Entradas

Mostrando entradas de abril, 2012

Agregar controles dinámicamente a página ya diseñada

Imagen
  Hoy quiero compartir, algunos temas que aprendí y que pueden servirles de ayuda tanto como a mí. La necesidad que tenía era colocar un control de forma dinámica a una página ya construida, con el propósito de dar avisos, visualmente, dada la información ingresada en ciertos controles enlazados a propiedades dadas (Vale la pena decir, que se usaba el patrón MVVM). El primer tema a resolver era obtener el control asociado a la propiedad que cambiaba en el ViewModel, sin embargo, el patrón MVVM se creo con el propósito o idea de que el ViewModel no conociera los detalles asociados a la vista que se le asocia, para de esta forma garantizar el desacople necesario para el patrón. Lo que se requería, entonces, era: Dado el código: < TextBox x : Name ="NombreTextBox" Text ="{ Binding Path =Persona.Nombre, Mode =TwoWay}" Grid.Column ="1"></ TextBox > Con la propiedad Nombre, poder obtener que el nombre del control, en este caso NombreTextBox. Po

Controles que muestran colecciones de objetos – ItemsControl

Imagen
Los controles que muestran colecciones de objetos son indispensables en nuestras aplicaciones. Si lverlig ht incluye, entre otros, los siguientes: ComboBox, ListBox, TabControl y probablemente el más importante de todos, la DataGrid. La DataGrid puede ser utilizada para mostrar los datos en una representación similar a Excel. En esta serie de cápsulas entraremos a estudiar este tipo de controles e iniciaremos con el ItemsControl. El ItemsControl es un control genérico para mostrar lista de datos. Se puede utilizar para presentar un conjunto fijo de elementos o para mostrar una lista obtenida del enlace de datos a un objeto. El ItemsControl permite definir una plantilla para definir el panel que se usará para los items (StackPanel, Canvas, Grid, etc.) a través de la propiedad ItemsPanel donde se define el ItemsPanelTemplate , así como una plantilla para definir la apariencia con que se presentarán los datos, usando la propiedad ItemTemplate , en donde se define el DataTemplate . Si des