Sev*_*yev 3 c# silverlight windows-phone longlistselector windows-phone-8
C#中的WinPhone 8项目.我正在尝试填充分组列表.显示组标题,但项目不显示.相关代码是:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
和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>
Run Code Online (Sandbox Code Playgroud)
这两种GetEnumerator()方法都没有被调用.该Key吸气剂是从来没有所谓,无论是.看起来列表不能将我的Group类识别为字符串集合.拜托,这里有什么问题?
项目模板很好.当我将列表更改为非分组时,我看到两个带有虚拟文本的项目.
string用自定义类替换项目类型没有帮助.
小智 5
Seva是正确的,微软改变了你在Grouped模式中分配给ItemsSourcea 的类型要求LongListSelector.
您需要转换您正在使用的任何类来将项目从继承分组IEnumerable<T>为仅继承List<T>.
请参阅此处以获取答案的完整说明
实际上它很简单,这就是你可以使用WP8 LongListSelector 的Group类的例子如下所示:
public class Group<T> : List<T>
{
public Group(char name, IEnumerable<T> items) : base(items)
{
this.Letter = name;
}
public char Letter
{
get;
set;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3050 次 |
| 最近记录: |