Foros del Web » Programación para mayores de 30 ;) » .NET »

xaml listview buscar controles

Estas en el tema de xaml listview buscar controles en el foro de .NET en Foros del Web. buenas: tengo un listview k tiene un view de grid k tíene 1 label y 1 textbox x cada registro. como puedo conseguir una referencia ...
  #1 (permalink)  
Antiguo 13/03/2008, 14:06
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
xaml listview buscar controles

buenas:

tengo un listview k tiene un view de grid k tíene 1 label y 1 textbox x cada registro. como puedo conseguir una referencia a esos objetos?.
__________________
Charlie.
  #2 (permalink)  
Antiguo 13/03/2008, 14:18
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: xaml listview buscar controles

puedes poner tu codigo xaml y señalar a q elemento deseas acceder.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 14/03/2008, 02:07
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Re: xaml listview buscar controles

Si, porsupuesto:

Código:
        <Grid Name="gvInSesion" Style="{StaticResource estiloFondoGrid}" Visibility="Hidden">
            <DockPanel>
                <DockPanel Height="100" DockPanel.Dock="Top">
                </DockPanel>
                <ListView Name="lvContactos" DockPanel.Dock="Bottom">
                    <ListView.View>
                        <GridView x:Name="gvGrid">
                            <GridView.Columns>
                                <GridViewColumn Header="Contactos" Width="286">
                                    <GridViewColumn.CellTemplate>
                                        <DataTemplate>
                                            <ItemsControl>
                                                <DockPanel>
                                                    <Image Name="imgConectado" DockPanel.Dock="Left" Source="imagenes/user.ico" Height="15px" />
                                                    <Label Name="lblEstado" Content="{Binding Path=ESTADO}" Visibility="Hidden" />
                                                    <Label Name="lblEmail" Content="{Binding Path=EMAIL}" />
                                                </DockPanel>
                                            </ItemsControl>                                            
                                        </DataTemplate>
                                    </GridViewColumn.CellTemplate>
                                </GridViewColumn>
                            </GridView.Columns>
                        </GridView>
                    </ListView.View>
                </ListView>
            </DockPanel>
        </Grid>

Y tengo un botón, que al pulsarlo cargo el ListView de la siguiente forma:
Código:
           Binding objBind = new Binding();
           lvContactos.DataContext = tbContactos;
           lvContactos.SetBinding(ListView.ItemsSourceProperty, objBind);
Bueno, antes de esas líneas cargo el tbContactos(Es un DataTable) con datos de una base de datos.

La cuestión es que se me cargan los datos y se muestran perfectamente. OK. Pero quiero que por cada registro, cambiar el imgConectado por un valor o por otro dependiendo del Label lblEstado.

En fin, pensé en algo como:
Código:
foreach(ListViewItem objElemento in lvContactos.Items)
{
        Label lblContacto = (Label)objElemento.FindControl("lblEstado");
        if(lblContacto.Content.toString() == "true")
        {
             Etc...
        }
}
Pero claro, no me funciona ni de coña, jajajaja. Esto es una aplicación Windows WPF. Sé que no existe el Evento DataBound, pero bueno... buscaría algo asi, para como hago con ASP .NET 2.0, que según voy enlazando los datos en un GridView, puedo ir mirando los valores que tienen los controles para cada registro.

En fin, espero haberme explicado y que puedas ayudarme.
__________________
Charlie.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:37.