91 messaggi dal 16 novembre 2004
Ciao a tutti, ho generato un oggetto grid a runtime, in ogni cella della grid ho uno stack panel contenente due label e un immagine.
l'url dell'immagine non è presente nella sorgente dati ma per ogni cella devo fare una chiamata ad un servizio il quale mi dovrà restituire l'url appropriata.
Il punto è che l'invocazione del servizio è asincrona e quando questo ritorna il valore io non so più come attribuirlo al controllo immagien corretto.

Chi mi sa aiutare?
Grazie
91 messaggi dal 16 novembre 2004
aggiungo il frammento di codice che uso per creare la grid


il punto cruciale è questo:

imgRef.Source = ?????????

il servizio che mi restituisce l'url è questo
client.getUrlImgProdAsync(datiriga(0).mCodicePlano


For i As Integer = 0 To colonne - 1
Dim coldef As New ColumnDefinition
coldef.Width = New GridLength(100)
gridPlano.ColumnDefinitions.Add(coldef)
Next

For i As Integer = 0 To righe - 1
Dim rowdef As New RowDefinition
rowdef.Height = New GridLength(65)
gridPlano.RowDefinitions.Add(rowdef)
Next

For i As Integer = 0 To righe - 1
For j As Integer = 0 To colonne - 1
Dim datiriga As List(Of OBJ_R) = (From a In List_R Where a.Riga = i + 1 And a.Colonna = j + 1 Select a).ToList
If datiriga.Count > 0 Then
Dim stk As New StackPanel
stk.Name = "stk" & i & j

Dim lblRef As New Label
lblRef.Name = String.Format("lblref{0}{1}", i, j)
lblRef.Content = datiriga(0).RefPlano

Dim imgRef As New Image
imgRef.Name = String.Format("img{0}{1}", i, j)
imgRef.Source = ?????????
client.getUrlImgProdAsync(datiriga(0).mCodicePlano, 65, 65)

Dim lblQta As New Label
lblQta.Name = String.Format("lblqta{0}{1}", i, j)
lblQta.Content = datiriga(0).QtaPlano

stk.Children.Add(lblRef)
stk.Children.Add(imgRef)
stk.Children.Add(lblQta)
stk.SetValue(Grid.RowProperty, i)
stk.SetValue(Grid.ColumnProperty, j)
gridPlano.Children.Add(stk)
End If
Next
Next
41 messaggi dal 14 ottobre 2010
a2piazza ha scritto:
aggiungo il frammento di codice che uso per creare la grid


il punto cruciale è questo:

imgRef.Source = ?????????

il servizio che mi restituisce l'url è questo
client.getUrlImgProdAsync(datiriga(0).mCodicePlano


For i As Integer = 0 To colonne - 1
Dim coldef As New ColumnDefinition
coldef.Width = New GridLength(100)
gridPlano.ColumnDefinitions.Add(coldef)
Next

For i As Integer = 0 To righe - 1
Dim rowdef As New RowDefinition
rowdef.Height = New GridLength(65)
gridPlano.RowDefinitions.Add(rowdef)
Next

For i As Integer = 0 To righe - 1
For j As Integer = 0 To colonne - 1
Dim datiriga As List(Of OBJ_R) = (From a In List_R Where a.Riga = i + 1 And a.Colonna = j + 1 Select a).ToList
If datiriga.Count > 0 Then
Dim stk As New StackPanel
stk.Name = "stk" & i & j

Dim lblRef As New Label
lblRef.Name = String.Format("lblref{0}{1}", i, j)
lblRef.Content = datiriga(0).RefPlano

Dim imgRef As New Image
imgRef.Name = String.Format("img{0}{1}", i, j)
imgRef.Source = ?????????
client.getUrlImgProdAsync(datiriga(0).mCodicePlano, 65, 65)

Dim lblQta As New Label
lblQta.Name = String.Format("lblqta{0}{1}", i, j)
lblQta.Content = datiriga(0).QtaPlano

stk.Children.Add(lblRef)
stk.Children.Add(imgRef)
stk.Children.Add(lblQta)
stk.SetValue(Grid.RowProperty, i)
stk.SetValue(Grid.ColumnProperty, j)
gridPlano.Children.Add(stk)
End If
Next
Next

boh, potresti farti restituire un parametro insieme all'url, in modo da capire a quale cella appartiene

Il libro su Silverlight in italiano:
Silverlight 4 - Guida Alla Programmazione

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.