我问一个问题,因为我的应用程序崩溃时,我试图使用我的跳转列表。列表被正确填充,但当我尝试进行跳转时,我有
e.ExceptionObject {System.ArgumentException: The provided item doesn't exist in the collection.
at Microsoft.Phone.Controls.LongListSelector.ScrollTo(Object item, Nullable1 isGroup, Boolean containerViewport, Boolean setUiaFocus)
at Microsoft.Phone.Controls.LongListSelector.OnJumpListClosing(Object item)
at Microsoft.Phone.Controls.JumpListController.BeginHide(Object selectedItem)
at Microsoft.Phone.Controls.JumpListController.OnSelectionChanged(Object sender, SelectionChangedEventArgs e)
at Microsoft.Phone.Controls.LongListSelector.set_SelectedItem(Object value)
at Microsoft.Phone.Controls.LongListSelector.OnItemTap(Object sender, GestureEventArgs e)
at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)} System.Exception {System.ArgumentException}
edit: some XAML
<phone:LongListSelector Name="ListCategorie" Margin="13,-30,0,0"
ItemsSource="{Binding GroupedInformation}"
ItemTemplate="{StaticResource orderByCategorieItemTemplate}"
GroupHeaderTemplate="{StaticResource orderByCategorieGroupHeader}"
JumpListStyle="{StaticResource orderByCategorieJumpListStyle}"
IsGroupingEnabled="True"
LayoutMode="List"
GridCellSize="480,62"
SelectionChanged="ListCategorie_SelectionChanged"
/>
和jumpListStyle
<Style x:Key="orderByCategorieJumpListStyle"
TargetType="phone:LongListSelector">
<Setter Property="LayoutMode"
Value="List" />
<Setter Property="Margin"
Value="12,12,0,0"/>
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<Border Background="{Binding Key,Converter={StaticResource FormatConverter}}"
Width="470"
Height="70"
Margin="6">
<TextBlock Text="{Binding Key}"
Foreground="{Binding Converter={StaticResource ForegroundConverter}}"
FontFamily="{StaticResource PhoneFontFamilySemiLight}"
FontSize="28"
Padding="2"
VerticalAlignment="Bottom"/>
</Border>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
和列表
的创建 public List<KeyedList<string, Information>> GroupedInformation
{
get
{
var infs= Information.loadXml();
infs= Information.orderByCategorie(infs);
var GroupedInformation=
from inf in infs
group inf by inf.categorie into infByCat
select new KeyedList<string, Information>(infByCat);
return new List<KeyedList<string, Information>>(infs);
}
}
我找到了解决方案,我有一个函数,刷新列表时的大小改变,所以当我去到jumpListSelection,应用程序刷新列表,这就是为什么它找到项目抱歉给您带来不便