Wpf

Cargar en un ListBox/ComboBox una enumeración creada por nosotros

En este apunte se muestra el código (axml) necesario para cargar en un control ListBox y/o en un control ComboBox una enumeración creada por nosotros.


↑↑↑

las enumeraciones

Con objeto de estudiar mejor el comportamiento de el proceso [Binding], (y derrochando imaginación), he escrito dos enumeraciones, la primera de ellas está en el espacio de nombres [enumeraciones], y la segunda esta en el espacio de hombres del proyecto, que en este ejemplo es [Borrar]

Dicho de otro modo, el espacio de nombres donde estaba el proyecto de pruebas que he usado para hacer estas pruebas de funcionamiento ese llama Borrar

Namespace enumeraciones
    Public Enum ComidasE
        paella = 1
        cocido = 2
        sopa = 3
    End Enum
End Namespace



Enum DedosE
    pulgar
    indice
    corazon
    anular
    menique
End Enum

↑↑↑

El codigo xaml

Una Observación (mas o menos) importante

El proyecto con el que he estado haciendo las pruebas de funcionamiento se llama [Borrar], y cada vez que aparece esa palabra en el codigo [xaml]la he escrito en verde para que la distingas y sepas exactamente que representa.

<Window x:Class="Window2"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"   
    xmlns:localNamespaceEnumeraciones="clr-namespace:Borrar.enumeraciones"        
    xmlns:local="clr-namespace:Borrar"        
    Title="Window2" Height="302" Width="404">



    <Window.Resources>
        <ObjectDataProvider x:Key="comidasData"
                    MethodName="GetValues" 
                    ObjectType="{x:Type sys:Enum}">
            <ObjectDataProvider.MethodParameters>
                <x:Type TypeName="localNamespaceEnumeraciones:ComidasE" />
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>


        <ObjectDataProvider x:Key="dedosData"
                    MethodName="GetValues" 
                    ObjectType="{x:Type sys:Enum}">
            <ObjectDataProvider.MethodParameters>
                <x:Type TypeName="local:DedosE" />
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>



    </Window.Resources>

    <Grid>

        <ComboBox Name="comboBoxFoodType" Height="23" Width="120"  
                  HorizontalAlignment="Left"  VerticalAlignment="Top"
                  Margin="15,35,0,0"   
                  SelectedIndex="0" 
                  ItemsSource="{Binding Source={StaticResource comidasData}}" />

        <ListBox Name="listBoxFoodType" Height="100" Width="120" 
                 HorizontalAlignment="Left" VerticalAlignment="Top" 
                 Margin="15,78,0,0" 
                 SelectedIndex="0" 
                  ItemsSource="{Binding Source={StaticResource comidasData}}" />

        <ListBox Name="listBoxDedos" Height="141"  Width="120"  
                 HorizontalAlignment="Left"   VerticalAlignment="Top"
                 Margin="198,35,0,0"
                 SelectedIndex="0" 
                 ItemsSource="{Binding Source={StaticResource dedosData}}" />

    </Grid>
</Window>

↑↑↑

Una imagen con el resultado de este codigo

Imagen 01 - Muestra como quedan cargadas las enumeraciónes en un ListBox y en un ComboBox

Imagen 01 - Muestra como quedan cargadas las
enumeraciónes en un ListBox y en un ComboBox


↑↑↑

A.2.Enlaces

[Para saber mas]
Wpf – Cargar en un ListBox una enumeración del sistema
Wpf – Cargar en un ListBox/ComboBox una enumeración creada por nosotros (Este documento)
Wpf – Cargar una colección en una enumeración
Wpf – Extender un control ComboBox que cargue una enumeración
Wpf – ComboBox.SelectionChanged
[Grupo de documentos]
[Documento Index]
[Documento Start]
[Imprimir el Documento]
© 1997 - - La Güeb de Joaquín
Joaquín Medina Serrano
Ésta página es española

Codificación
Fecha de creación
Última actualización
[HTML5 Desarrollado usando CSS3]