我的 LongListSelector 有问题:Jumplist 无法正常工作。单击 MenuItem 时,JumpList 会正确打开。但是当之后点击标题时,LongListSelector 不会跳转到正确的位置。相反,应用程序冻结了大约三秒钟,然后跳转列表就关闭了。
显然,程序不知道跳转到哪里,但这怎么可能呢?我使用了这里的列表:http: //msdn.microsoft.com/en-us/library/windowsphone/develop/jj244365 (v=vs.105).aspx
我正在动态创建 LongListSelector,这可能是个问题吗?
我的列表类是:
public class Group<TKey, TItem> : ObservableCollection<TItem>
{
public TKey Key { protected set; get; }
public Group(TKey key, IEnumerable<TItem> items)
: base(items)
{
Key = key;
}
public Group(IGrouping<TKey, TItem> grouping)
: base(grouping)
{
Key = grouping.Key;
}
}
我正在绑定:
LongListSelector listBox = new LongListSelector { JumpListStyle = (Style)Resources["MenuTemplate"], ItemTemplate = (DataTemplate)Resources["Template"], GroupHeaderTemplate = (DataTemplate)Resources["HeaderTemplate"], HideEmptyGroups = true, IsGroupingEnabled = true, LayoutMode = LongListSelectorLayoutMode.List, Name = "somename" };
XAML 模板:标题和菜单模板:
<DataTemplate x:Key="HeaderTemplate">
<Border Background="Transparent" Padding="5">
<Border>
<TextBlock Text="{Binding Key}"/>
</Border>
</Border>
</DataTemplate>
<Style x:Key="MenuTemplate" TargetType="phone:LongListSelector">
<Setter Property="LayoutMode" Value="List" />
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<Border>
<TextBlock Text="{Binding Key}"/>
</Border>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>