每当我尝试在我的应用程序中访问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项。
我正在尝试创建一个用户可以选择的字母列表。
答案 0 :(得分:3)
这是一个众所周知的问题。
您必须绑定项目才能使用5个以上。
ListPicker作为ItemsControl,将其Items属性设置为列表 您的示例中的ListPickerItems。 ListPickerItems是UIElements, 并且ListPicker在其演示者中呈现它们。当有5或 更少的项目,扩展模式在当前页面上打开,你可以 查看演示者中的所有项目。
但是当存在6个或更多项目时,打开列表选择器会转到 完整模式,打开一个新页面。这个新页面有一个列表框,其中 将其items属性设置为listpicker的项目。这是哪里 它打破了。通过将列表框的项目设置为listpicker的项目 (在这种情况下是listpickeritems的列表),列表框将放置那些 UIElements进入其观点。现在一个listboxitem包含在两个中 视觉树上的地方。
由于此问题,ListPicker仅支持数据绑定和 模板。不要将ListPicker的项目设置为特定的UIElements。