Compartir a través de


SimpleComboBox y SimpleComboBoxItem (soporte WPF en Blend)

Esta página es específica de proyectos WPF

El cuadro combinado es un control de elementos en forma de lista desplegable. Para colocar contenido en un cuadro combinado en Blend para Visual Studio, haga doble clic en el cuadro combinado y, a continuación, dibuje un objeto (como un SimpleComboBoxItem) en él. Otra posibilidad es hacer clic con el botón secundario en el cuadro combinado del panel Objetos y escala de tiempo y, a continuación, hacer clic en Agregar SimpleComboBoxItem para agregar elementos individuales a la colección, o bien, hacer clic en Enlazar ItemsSource a datos para generar la colección de objetos ComboBoxItem desde un origen de datos. Para ver el cuadro combinado en la mesa de trabajo cuando esté expandido, puede hacer clic con el botón secundario en el cuadro combinado o en el elemento de cuadro combinado en el panel Objetos y escala de tiempo y, a continuación, hacer clic en Expandir ComboBox.

Vista de la mesa de trabajo de un control SimpleComboBox después de agregar dos elementos

JJ170884.25309636-8547-4686-a578-9aa914190f01(es-es,VS.120).png

Desglosar la plantilla de control

La plantilla del control SimpleComboBox está formada por los siguientes elementos:

  • Un panel Grid , que se usa para que el cuadro combinado contenga varios elementos secundarios. El panel Grid también se usa porque facilita al diseñador de la interfaz de usuario de la aplicación (UI) la incorporación de más objetos a la plantilla.

  • Un elemento ContentPresenter denominado ContentSite, que está incluido en Grid y se usa para mostrar el elemento seleccionado.

  • Un cuadro de texto PART_EditableTextBox, que está incluido en Grid y permite al usuario modificar texto dentro del cuadro combinado. Puesto que la clase utiliza el nombre PART_EditableTextBox para buscar el cuadro de texto, no debe cambiarse. De forma predeterminada, el cuadro de texto se contrae y se hace visible cuando IsEditable está establecido en True en el cuadro combinado al que se aplica esta plantilla de control.

  • Un control de botón de alternancia emergente, que se usa para crear la parte que se expande del cuadro combinado. El control emergente puede colocarse en relación con otros controles y se representa encima de cualquier otro contenido. Este control también admite el uso de algunas animaciones integradas.

  • Un control Grid incluido dentro del control emergente y que contiene un ScrollViewer que permite el desplazamiento en la lista de elementos. El elemento StackPanel en ScrollViewer coloca cada elemento. La propiedad IsItemsHost de StackPanel se establece en True para que el control de cuadro combinado pueda colocar los objetos secundarios dentro de StackPanel. Si desea cambiar la forma en que se muestran los elementos, puede reemplazar este panel de diseño; para ello, haga clic con el botón secundario en el elemento Grid desplegable en el panel Objetos y escala de tiempo y, a continuación, seleccione Cambiar tipo de diseño y elija otro panel, como UniformGrid.

La plantilla del control SimpleComboBoxItem está formada por los siguientes elementos:

  • Un panel Grid , que se usa para que el elemento del cuadro combinado contenga varios elementos secundarios. También se usa el panel Grid porque facilita al diseñador la incorporación de más objetos a la plantilla.

  • Un elemento Border , que se usa porque incluye una propiedad BorderThickness que se puede enlazar mediante plantilla a la propiedad BorderThickness del control de botón al que se aplica esta plantilla.

  • Un elemento ContentPresenter , que está incluido dentro del objeto Grid y se enlaza automáticamente a la propiedad Content del control de elemento al que se aplica la plantilla.

Desencadenadores de propiedad usados

Los desencadenadores de propiedad de la plantilla de control sirven para hacer que el control reaccione ante los cambios de propiedad. Puede hacer clic en los elementos en el panel Desencadenadores para ver las propiedades que cambian cuando se activa un desencadenador. Por ejemplo, en la plantilla del cuadro combinado, cuando la propiedad HasItems es False, el alto mínimo del objeto DropDownBorder se establece en 95 para que aparezca una ventana desplegable vacía al hacer clic en el cuadro combinado. Si el alto mínimo se estableciera en 0, aparecería una ventana desplegable muy pequeña. En la plantilla del elemento de cuadro combinado, si la propiedad IsHighlighted es True, la propiedad Background del objeto Border se cambia para indicar qué elemento del cuadro combinado se selecciona.

Pinceles usados

Los siguientes recursos de pincel del diccionario de recursos SimpleStyles.xaml se utilizan en las plantillas SimpleComboBox y SimpleComboBoxItem:

  • La propiedad Background del objeto DropDownBorder se establece mediante WindowBackgroundBrush.

  • La propiedad BorderBrush del objeto DropDownBorder se establece mediante SolidBorderBrush.

  • La propiedad Foreground se establece mediante DisabledForegroundBrush cuando IsEnabled es False.

  • Si SimpleComboBox se ha llenado con elementos que usan la plantilla SimpleComboBoxItem, la propiedad Background del elemento se establece mediante SelectedBackgroundBrush cuando se selecciona un elemento y la propiedad Foreground se establece mediante DisabledForegroundBrush cuando IsEnabled es False.

Procedimientos recomendados e instrucciones de diseño

  • En general, debe usar un control Grid como raíz de la plantilla si espera que el diseñador agregue más elementos visuales al control. Blend busca un panel de diseño como el control Grid y lo activa de forma predeterminada para que los objetos nuevos de la mesa de trabajo se agreguen como objetos secundarios del panel de diseño.

  • La expansión del cuadro combinado se establece mediante el enlace de la propiedad IsChecked de ToggleButton y la propiedad IsOpen del elemento emergente a la propiedad IsDropDownOpen del cuadro combinado al que se aplica esta plantilla de control. Si edita ToggleButton o el elemento emergente, necesitará asegurarse de mantener este enlace a plantilla.

  • El objeto ToggleButton utiliza una plantilla independiente denominada ToggleButtonControlTemplate. Para modificarlo, haga clic con el botón secundario en el elemento ToggleButton, elija Editar plantilla y, a continuación, haga clic en Editar actual.

  • Para modificar la plantilla SimpleComboBoxItem, haga clic en el botón Editar recurso situado al lado del estilo SimpleComboBoxItem en el panel Recursos. En el modo de edición del estilo, haga clic con el botón secundario en Estilo en el panel Objetos y escala de tiempo, elija Editar plantilla y, a continuación, haga clic en Editar actual. Si modifica la plantilla SimpleComboBoxItem, puede desear conservar o modificar el desencadenador IsHighlighted.

Vea también

Tareas

Inténtelo: Personalizar la apariencia de la marca de verificación de un control SimpleCheckBox (soporte WPF en Blend)