LongListSelector に問題があります。ジャンプリストが正しく機能していません。MenuItem をクリックすると、JumpList が正しく開きます。しかし、後でヘッダーがタップされると、LongListSelector は正しい位置にジャンプしません。代わりに、アプリが約 3 秒間フリーズしてから、ジャンプリストが閉じます。
どうやら、プログラムはジャンプする場所を認識していないようですが、これはどのようにして可能になるのでしょうか? ここからリストを使用しました: 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>