我正在使用MVVM模式,我正在尝试绑定
public ObservableCollection Friends property to LongListSelector<toolkit:LongListSelector ItemsSource="{Binding Friends}" GroupHeaderTemplate="{StaticResource movieGroupHeader}" ListHeaderTemplate="{StaticResource movieListHeader}"> <toolkit:LongListSelector.ItemTemplate> <DataTemplate> <Grid Margin="12,8,0,8"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <StackPanel Grid.Column="1" VerticalAlignment="Top"> <TextBlock Text="{Binding MyBoxName}" Style="{StaticResource PhoneTextLargeStyle}" FontFamily="{StaticResource PhoneFontFamilySemiBold}" Margin="12,-12,12,6"/> <TextBlock Text="{Binding MyBoxID}" Style="{StaticResource PhoneTextNormalStyle}" TextWrapping="Wrap" FontFamily="{StaticResource PhoneFontFamilySemiBold}"/> <StackPanel Orientation="Horizontal"> <TextBlock Text="Status:" Style="{StaticResource PhoneTextSmallStyle}"/> <TextBlock Text="{Binding Status}" Style="{StaticResource PhoneTextSmallStyle}" FontFamily="{StaticResource PhoneFontFamilySemiBold}"/> </StackPanel> </StackPanel> </Grid> </DataTemplate> </toolkit:LongListSelector.ItemTemplate> </toolkit:LongListSelector>
Now issues is when i try to add
_friends.Add(new Model.Friends { MyBoxID = e.RosterItem.Jid, MyBoxName = e.RosterItem.Name, Status = Matrix.Xmpp.PresenceType.unavailable })
它给出 InvalidCastException 所以我尝试了List而不是ObservableCollection。现在我没有异常,但LLS中没有显示任何内容。如何使用分组将My ObservableCollection属性绑定到LLS。
答案 0 :(得分:0)
对于LongListSelector
,您不仅需要一个集合,还需要一些更复杂的结构来支持分组
看看LongListCollection。这是一个很棒的课程,可以帮助你
用法:
var list = new LongListCollection<Event, string>(Events, x => x.Date.ToLongDateString());