2011-06-26 69 views
1

everyone。 我收到了一個listBox。當我嘗試顯示61項 - 它運行正常。 但是,當它是62個或更多 - 應用與WP7上的ListBox問題 - 發生System.Windows.Markup.XamlParseException

System.Windows.Markup.XamlParseException occurred 
    Message= [Line: 0 Position: 0] 
    LineNumber=0 
    LinePosition=0 
    StackTrace: 
     at MS.Internal.XcpImports.CheckHResult(UInt32 hr) 
     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 inWidth, Single inHeight, Single& outWidth, Single& outHeight) 
     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.VirtualizingStackPanel.MeasureChild(UIElement child, Size layoutSlotSize) 
     at System.Windows.Controls.VirtualizingStackPanel.MeasureOverride(Size constraint) 
     at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight) 

落在它可以是什麼 - 我不知道。它在隨機時刻掉出來。我可以滾動列表框結束,查看最後一個元素,當我向後滾動時 - 它會拋出錯誤。

+0

如何添加項目到列表框?你是在代碼中還是直接在標記中添加它們?如果您將其添加到標記中,是否可以發佈最後幾項的標記? –

+0

我在代碼中添加項目。通過ItemsSource屬性 – Monochromie

+1

您應該將項目添加到已分配給ItemsSource屬性的ObservableCollection ,而不是直接添加到ItemsSource屬性本身。 –

回答

0

你很可能在你的列表框中有可變高度的項目。您可以嘗試將ListBox.ItemsPanel改爲StackPanel而不是VirtualizingStackPanel。這將允許可變高度的項目,但是有一個折衷,因爲如果列表中有很多項目,那麼您將增加啓動時間和內存使用量。