Also versuche ich Silverlight zu lernen, also habe ich eine einfache Demo-App erstellt, die meinen Home Feed von zieht und die Einträge in einer Liste anzeigt.ListBox füllt Datenbindung nicht in Silverlight 2
Ich habe ein Listenfeld definiert habe:
<ListBox x:Name="lstItems" Margin="5,61,5,5" Grid.Row="1">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="8,8,43,8">
<TextBlock Text="{Binding Title}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
, die von einem Web-Service-Aufruf bevölkert werden
private void LoginButton_Click(object sender, RoutedEventArgs e)
{
FriendFeedServiceClient client = new FriendFeedServiceClient();
client.GetHomeCompleted += new EventHandler<GetHomeCompletedEventArgs>(client_GetHomeCompleted);
client.GetHomeAsync(FfUsername.Text, FfApiKey.Password);
}
void client_GetHomeCompleted(object sender, GetHomeCompletedEventArgs e)
{
lstItems.DataContext = e.Result;
}
Die FriendFeedServiceClient
einen Anruf zu einem lokalen Webservice tun, die eine Anforderung Proxies der eigentliche FriendFeed Webservice.
Der Service-Aufruf funktioniert, werden die Elemente zurückgegeben, wenn ich den Anruf debuggen die lstItems.DataContext
Eigenschaft mit einer Liste von Elementen mit Daten in sich bevölkert wird, aber die Liste nicht alles angezeigt wird, ist es immer leer. Habe ich etwas verpasst?
Leider hat sich daran nichts geändert. Der Dienst antwortet immer noch mit den Daten und macht dann nichts. –
Bitte fügen Sie einige Dummy-Werte ein, die Sie in e.GetResult erhalten. Wenn Ihr e.Getresult Ihnen und benutzerdefinierten Geschäftsobjekten nicht sendet, dann versuchen Sie im Code dahinter, die ListBox.ItemsSource anstelle von DataContext festzulegen. –
Ich habe das Problem gefunden, der Dienst hat Objekte zurückgegeben, die fields not properties und while verwendet haben der Dienst würde diese Objekte in debug füllen, sie waren für die XAML-Eigenschaften-Getter nicht verfügbar –