2012-04-04 26 views
0

Ich bin nur ein Anfänger in Silverlight und WCF. Ich stieß auf einen sehr guten Artikel "http://www.netfxharmonics.com/2008/11/ Understanding-WCF-Services-in-Silverlight-2" von Miguel A. Castro, der lehrt, den WCF manuell hinzuzufügen.Ist es in Ordnung, mehrere Dispatcher.BeginInvoke zu haben?

In diesem Beispiel verwendet es Dispatcher.BeginInvoke, um den Text vom Dienst in einen Textblock in silverlight UI zu schreiben.

Ich muss mehr als eine Kontrolle mit dem gleichen Dienst füllen. Es scheint, dass ich keine andere Funktion innerhalb der BeginInvoke-Methode aufrufen darf. Ist der beste Weg, mehrere BeginInvoke-Methode zu haben? Wird das viele Ressourcen verbrauchen?

Danke,

Antwort

0

Eine Möglichkeit, die funktionieren würde: von den Ergebnissen des WCF-Service-Aufruf, ein Aufruf an Dispatcher.BeginInvoke und die Struktur zu spMainUIElement Erstellen Sie eine umschließende UIElement Struktur in ihrer Gesamtheit dann verwenden hinzuzufügen. Zum Beispiel:

StackPanel sp = new StackPanel(); 
TextBlock tb1 = new TextBlock({ 
    Text=person[0].FirstName + person[0].LastName 
}); 
sp.Children.Add(tb1); 
TextBlock tb2 = new TextBlock({Text="AND SO ON Use this pattern to add UIElements to the stackpanel."}); 

sp.Children.add(tb2); 

//now - add the StackPanel which holds other UIElements to spMain. 

this.Dispatcher.BeginInvoke(delegate(){ 
    spMain.Children.Add(sp); 
}); 
+0

Danke, das ist ein guter Vorschlag! – user1298608

Verwandte Themen