xaml – ListPicker崩溃

我有一个具有以下结构的ListPicker:

toolkit:ListPicker x:Name="mListPicker" HorizontalAlignment="Right" Margin="0,75,43,0" Width="100" VerticalAlignment="Top">
< toolkit:ListPickerItem Content="5"/>
< toolkit:ListPickerItem Content="10"/>
< toolkit:ListPickerItem Content="15"/>
< toolkit:ListPickerItem Content="20"/>
< toolkit:ListPickerItem Content="25"/>
< toolkit:ListPickerItem Content="30"/>
< /toolkit:ListPicker>

每当我尝试运行此命令时,会出现以下消息:

System.Windows.Markup.XamlParseException occurred
  Message= [Line: 0 Position: 0]
   --- Inner Exception ---
The parameter is incorrect. 

  LineNumber=0
  LinePosition=0
  StackTrace:
       at MS.Internal.XcpImports.MethodEx(IntPtr ptr,String name,CValue[] cvData)
       at MS.Internal.XcpImports.MethodEx(DependencyObject obj,String name)
       at MS.Internal.XcpImports.FrameworkElement_ApplyTemplate(FrameworkElement frameworkElement)
       at System.Windows.FrameworkElement.ApplyTemplateInternal()
       at System.Windows.Controls.ScrollContentPresenter.HookupScrollingComponents()
       at System.Windows.Controls.ScrollContentPresenter.OnApplyTemplate()
       at System.Windows.FrameworkElement.OnApplyTemplate(IntPtr nativeTarget)
       at MS.Internal.XcpImports.MeasureNative(IntPtr element,Single inWidth,Single inHeight)
       at MS.Internal.XcpImports.UIElement_Measure(UIElement element,Size availableSize)
       at System.Windows.UIElement.Measure(Size availableSize)
       at System.Windows.Controls.ScrollViewer.MeasureOverride(Size constraint)
       at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget,Single inHeight,Single& outWidth,Single& outHeight)
       at MS.Internal.XcpImports.MeasureOverrideNative(IntPtr element,Single& outHeight)
       at MS.Internal.XcpImports.FrameworkElement_MeasureOverride(FrameworkElement element,Size availableSize)
       at System.Windows.FrameworkElement.MeasureOverride(Size availableSize)
       at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget,Single& outHeight)
  InnerException: System.ArgumentException
       Message=The parameter is incorrect. 
       StackTrace:
            at MS.Internal.XcpImports.CheckHResult(UInt32 hr)
            at MS.Internal.XcpImports.SetValue(INativeCoreTypeWrapper obj,DependencyProperty property,DependencyObject doh)
            at MS.Internal.XcpImports.SetValue(INativeCoreTypeWrapper doh,Object obj)
            at System.Windows.DependencyObject.SetobjectValuetoCore(DependencyProperty dp,Object value)
            at System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp,Object value,Boolean allowReadOnlySet,Boolean isSetByStyle,Boolean isSetByBuiltInStyle,PropertyInvalidationReason reason)
            at System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp,Object value)
            at System.Windows.DependencyObject.SetValue(DependencyProperty dp,Object value)
            at System.Windows.Controls.ContentControl.set_Content(Object value)
            at System.Windows.Controls.ItemsControl.PrepareContainerForItemOverride(DependencyObject element,Object item)
            at System.Windows.Controls.Primitives.Selector.PrepareContainerForItemOverride(DependencyObject element,Object item)
            at System.Windows.Controls.ItemsControl.MS.Internal.Controls.IGeneratorHost.PrepareItemContainer(DependencyObject container,Object item)
            at System.Windows.Controls.ItemContainerGenerator.System.Windows.Controls.Primitives.IItemContainerGenerator.PrepareItemContainer(DependencyObject container)
            at System.Windows.Controls.ItemsControl.AddVisualChild(Int32 index,DependencyObject container,Boolean needPrepareContainer)
            at System.Windows.Controls.ItemsControl.AddContainers()
            at System.Windows.Controls.ItemsControl.RecreateVisualChildren(IntPtr unmanagedobj)
            at MS.Internal.XcpImports.MethodExNative(IntPtr context,IntPtr element,UInt32 cString,UInt32 cParams,IntPtr pParams,CValue& outval,Int32& typeIndex)
            at MS.Internal.XcpImports.MethodEx(IntPtr ptr,CValue[] cvData)
            at MS.Internal.XcpImports.MethodEx(DependencyObject obj,String name)
            at MS.Internal.XcpImports.FrameworkElement_ApplyTemplate(FrameworkElement frameworkElement)
            at System.Windows.FrameworkElement.ApplyTemplateInternal()
            at System.Windows.Controls.ScrollContentPresenter.HookupScrollingComponents()
            at System.Windows.Controls.ScrollContentPresenter.OnApplyTemplate()
            at System.Windows.FrameworkElement.OnApplyTemplate(IntPtr nativeTarget)
            at MS.Internal.XcpImports.MeasureNative(IntPtr element,Single inHeight)
            at MS.Internal.XcpImports.UIElement_Measure(UIElement element,Size availableSize)
            at System.Windows.UIElement.Measure(Size availableSize)
            at System.Windows.Controls.ScrollViewer.MeasureOverride(Size constraint)
            at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget,Single& outHeight)
            at MS.Internal.XcpImports.MeasureOverrideNative(IntPtr element,Single& outHeight)
            at MS.Internal.XcpImports.FrameworkElement_MeasureOverride(FrameworkElement element,Size availableSize)
            at System.Windows.FrameworkElement.MeasureOverride(Size availableSize)
            at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget,Single& outHeight)

它说元素已经是另一个元素了.

但是如果我删除最后一项并且只在选择器中保留五个项目,那么它可以正常工作.我错了什么?

解决方法

将ListPicker的ItemCountThreshold属性设置为大于6的值(认情况下,它列出五个或更少的项).你需要类似的东西:

<toolkit:ListPicker ItemCountThreshold="10">
                <toolkit:ListPickerItem Content="1" />
                <toolkit:ListPickerItem Content="2"/>
                <toolkit:ListPickerItem Content="3"/>
                <toolkit:ListPickerItem Content="4"/>
                <toolkit:ListPickerItem Content="5"/>
                <toolkit:ListPickerItem Content="6"/>
            </toolkit:ListPicker>

ItemCountThreshold:ItemCountThreshold是int类型的依赖项属性.它指定将在Expanded模式下显示的最大项目数.认情况下,具有五个或更少项目的列表就地扩展,而具有更多项目的列表切换到全屏选择界面.它也可以设置为0以切换完全模式或非常大的数字来切换扩展模式.

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...