System.Exception {System.ArgumentException}值不在预期范围内

时间:2014-03-01 19:14:30

标签: windows-phone-8 toolkit listpicker

每当我尝试在我的应用程序中访问m list picker控件时,我都会收到此异常。

+       this    {App_name.App}  App_name.App
+       sender  {App_name.App}  object {App_name.App}
-       e   {System.Windows.ApplicationUnhandledExceptionEventArgs} System.Windows.ApplicationUnhandledExceptionEventArgs
+       base    {System.Windows.ApplicationUnhandledExceptionEventArgs} System.EventArgs {System.Windows.ApplicationUnhandledExceptionEventArgs}
+       ExceptionObject {System.ArgumentException: Value does not fall within the expected range.}  System.Exception {System.ArgumentException}
        Handled false   bool
+       Non-Public members      

我的列表选择器的代码是

<ListBox Margin="0,417,0,0">
            <ListBoxItem>
                <toolkit:ListPicker Name="LearnerFileChooser" Width="431" >
                    <toolkit:ListPickerItem Content="A" />
                    <toolkit:ListPickerItem Content="B" />
                    <toolkit:ListPickerItem Content="C" />
                    <toolkit:ListPickerItem Content="E" />
                    <toolkit:ListPickerItem Content="F" />
                    <toolkit:ListPickerItem Content="G" />
                    <toolkit:ListPickerItem Content="H" />
                </toolkit:ListPicker>
            </ListBoxItem>

如果我减少了号码。项目到4然后它正常工作但它崩溃超过4项。

我正在尝试创建一个用户可以选择的字母列表。

1 个答案:

答案 0 :(得分:3)

这是一个众所周知的问题。

您必须绑定项目才能使用5个以上。

Explanation on Codeplex

  

ListPicker作为ItemsControl,将其Items属性设置为列表   您的示例中的ListPickerItems。 ListPickerItems是UIElements,   并且ListPicker在其演示者中呈现它们。当有5或   更少的项目,扩展模式在当前页面上打开,你可以   查看演示者中的所有项目。

     

但是当存在6个或更多项目时,打开列表选择器会转到   完整模式,打开一个新页面。这个新页面有一个列表框,其中   将其items属性设置为listpicker的项目。这是哪里   它打破了。通过将列表框的项目设置为listpicker的项目   (在这种情况下是listpickeritems的列表),列表框将放置那些   UIElements进入其观点。现在一个listboxitem包含在两个中   视觉树上的地方。

     

由于此问题,ListPicker仅支持数据绑定和   模板。不要将ListPicker的项目设置为特定的UIElements。