Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/06/2009, 06:38
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
XAML - ListBox Enlazar Con Propiedad de la Ventana, sin CODE-BEHIND

Buenos días foreros !!

Espero que todo les vaya bien !!

Bueno, verán, tengo una pequeña aplicación XAML en Windows, en la cual le he metido una propiedad de tipo ObservableCollection.

Ok, por code-behind, si enlazo el ListBox con mi propiedad, funciona perfecto, la enlaza, refleja los cambios, muestra los elementos y todo perfecto.

Pues bien, quiero hacer exactamente lo mismo, pero directamente desde XAML. Sin necesidad de usar el codeBehind.

Conozco el tag: ObjectDataProvider, pero creo que eso es para crear instancias nuevas, y lo que yo necesito es enlazar mi ListBox, con una propiedad de mi propia ventana.... en fin, espero haberme explicado.

CODIGO
Código:
        private System.Collections.ObjectModel.ObservableCollection<ClsPersona> _listaPersonas = null;
        public System.Collections.ObjectModel.ObservableCollection<ClsPersona> ListaPersonas
        {
            get
            {
                if(_listaPersonas == null)
                    _listaPersonas = new System.Collections.ObjectModel.ObservableCollection<ClsPersona>();

                return _listaPersonas;
            }
            set
            {
                _listaPersonas = value;
            }
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            
            ListaPersonas.Add(new ClsPersona { CodPersona = 1, NombrePersona = "Carlos", ApellidosPersona = "Hevia Colinas" });
            ListaPersonas.Add(new ClsPersona { CodPersona = 2, NombrePersona = "sadfsdf", ApellidosPersona = "bnmbnmb ertret" });            

            //Si descomento la línea, se enlaza perfectamente.
            //lbElementos.ItemsSource = ListaPersonas;            
        }
XAML QUE INTENTO QUE ME FUNCIONE
Código:
        <ListBox Name="lbElementos" ItemsSource="{Binding Path=ListaPersonas}" Margin="0,0,0,46">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <ItemsControl>
                        <Label Content="{Binding Path=NombrePersona}" />
                    </ItemsControl>                    
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
En fin, si alguien sabe como puedo solucionar el problema, se lo agradecería enormemente.... jejeje.

Saludos amigos.
__________________
Charlie.