Проект WinPhone 8 в C#. Я пытаюсь заполнить сгруппированный список. Заголовки групп появляются, элементы нет. Соответствующий код:Сгруппированный LongListSelector: отображаются заголовки, элементы не
class MyPage
{
public class Group : IGrouping<string, string>
{
public string Title{get;set;}
public string[] Items;
public string Key
{
get { return Title; }
}
public IEnumerator<string> GetEnumerator()
{
return (Items as IEnumerable<string>).GetEnumerator();
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return Items.GetEnumerator();
}
}
private Group[] m_ItemGroups =
{
new Group(){Title = "A", Items = new string[] {"A", "ASA"}},
new Group(){Title = "X", Items = new string[] {"X", "XX"}},
};
private void OnLoaded(object sender, RoutedEventArgs e)
{
TheList.ItemsSource = m_ItemGroups;
}
}
И XAML:
<phone:LongListSelector
x:Name="TheList"
Grid.Row="1"
IsGroupingEnabled="True"
SelectionChanged="OnSelChanged"
>
<phone:LongListSelector.GroupHeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}"
Style="{StaticResource PhoneTextGroupHeaderStyle}"
Foreground="{StaticResource PhoneForegroundBrush}" />
</DataTemplate>
</phone:LongListSelector.GroupHeaderTemplate>
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" Width="432" Orientation="Horizontal">
<TextBlock Text="Hello world" TextWrapping="Wrap" Width="345"/>
</StackPanel>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
Ни из GetEnumerator()
методов не называется. Также не вызывается геттер Key
. Похоже, что список не распознает мой класс Group
как набор строк, который он есть. Пожалуйста, что здесь не так?
Элемент шаблона в порядке. Когда я меняю список на негруппированный, я вижу два элемента с фиктивным текстом.
Замена string
, поскольку тип элемента с пользовательским классом не помогает.
У меня такая же проблема прямо сейчас. Не могли бы вы опубликовать свою реализацию IList? –
Я использовал ObservableCollection ObservableCollections в конце концов. Не реализовал IList вручную. –
@SevaAlekseyev У меня такая же проблема, можете ли вы помочь мне на этом http://stackoverflow.com/questions/21986760/binding-data-in-longlistselector – user2056563