Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/03/2008, 02:07
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 10 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.