JumpList在ScrollTo上崩溃

本文关键字:崩溃 ScrollTo JumpList | 更新日期: 2023-09-27 18:05:02

我问一个问题,因为我的应用程序崩溃时,我试图使用我的跳转列表。列表被正确填充,但当我尝试进行跳转时,我有

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);
        }
    }

JumpList在ScrollTo上崩溃

我找到了解决方案,我有一个函数,刷新列表时的大小改变,所以当我去到jumpListSelection,应用程序刷新列表,这就是为什么它找到项目抱歉给您带来不便