LongListSelector - 值不在预期范围内

Jor*_*dan 2 windows-phone-7 longlistselector windows-phone-8

我已经将应用程序从wp7升级到8,现在正在获取System.ArgumentException"值不在预期范围内." 应用程序在退出为LongListSelector控件设置ItemsSource的方法后抛出异常.ExceptionObject中没有StackTrace,这在wp7中没有任何问题.

作为测试,我在应用程序的Loaded事件中完成了以下操作:

 private void PhoneApplicationPage_Loaded_1(object sender, RoutedEventArgs e)
        {
            List<string> test = new List<string>();
            test.Add("hi");
            BrowseListBox.ItemsSource = test;
        }
Run Code Online (Sandbox Code Playgroud)

方法完成后,抛出异常.

这是我的LongListSelector的XAML.TextBlock Text属性以前是Binding,但已被静态值替换,直到我开始工作.

<phone:LongListSelector Name="BrowseListBox" IsGroupingEnabled="True" LayoutMode="Grid">
                    <phone:LongListSelector.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Margin="0,0,0,17">
                                <TextBlock Text="test" TextWrapping="Wrap" FontSize="29" Tap="TextBlock_Tap_1" />
                            </StackPanel>
                        </DataTemplate>
                    </phone:LongListSelector.ItemTemplate>
                    <phone:LongListSelector.GroupHeaderTemplate>
                        <DataTemplate>
                            <Border>
                                <TextBlock Text="test" FontSize="32" Foreground="White"  />
                            </Border>
                        </DataTemplate>
                    </phone:LongListSelector.GroupHeaderTemplate>
                    <phone:LongListSelector.JumpListStyle>
                        <Style TargetType="phone:LongListSelector">
                            <Setter Property="ItemTemplate">
                                <Setter.Value>
                                    <DataTemplate>
                                        <Border Name="JumpListBorder" BorderThickness="0,0,0,1">
                                            <TextBlock Text="test" FontSize="50" Foreground="White"  />
                                        </Border>
                                    </DataTemplate>
                                </Setter.Value>
                            </Setter>
                        </Style>
                    </phone:LongListSelector.JumpListStyle>
                </phone:LongListSelector>
Run Code Online (Sandbox Code Playgroud)

谁看过这个吗?

Igo*_*lic 8

这是因为你正在使用LayoutMode Grid

您可以不使用网格,也可以指定GridCellSize属性,然后它可以工作:

<phone:LongListSelector Name="BrowseListBox" IsGroupingEnabled="True" LayoutMode="Grid" GridCellSize="50,50">
Run Code Online (Sandbox Code Playgroud)