मेरे पिछले प्रश्न से संबंधित: Binding ComboBox.SelectedItem in Silverlightसिल्वरलाइट में ComboBox.SelectedItem बाइंडिंग (अधिक)
मैं कोई ComboBox तो जैसे बाध्य है
<ComboBox x:Name="PART_CommentaryList"
HorizontalAlignment="Left"
Margin="3"
ItemsSource="{Binding Path=CurrentVideo.Commentaries}"
SelectedItem="{Binding Path=CurrentCommentary, Mode=TwoWay}">
दोनों CurrentVideo और CurrentCommentary संपत्ति परिवर्तन नियमित रूप से। कुछ बार बाद में, मुझे यह त्रुटि मिलती है:
Category: ManagedRuntimeError
Message: System.ArgumentException: Value does not fall within the expected
range.
at MS.Internal.XcpImports.MethodEx(IntPtr ptr, String name,
CValue[] cvData)
at MS.Internal.XcpImports.MethodPack(IntPtr objectPtr, String methodName,
Object[] rawData)
at MS.Internal.XcpImports.UIElement_TransformToVisual(UIElement element,
UIElement visual)
at System.Windows.UIElement.TransformToVisual(UIElement visual)
at System.Windows.Controls.Primitives.Selector.IsOnCurrentPage(
Int32 index, Rect& itemsHostRect, Rect& listBoxItemRect)
at System.Windows.Controls.Primitives.Selector.ScrollIntoView(
Int32 index)
at System.Windows.Controls.Primitives.Selector.SetFocusedItem(
Int32 index, Boolean scrollIntoView)
at System.Windows.Controls.ComboBox.PrepareContainerForItemOverride(
DependencyObject element, Object item)
at System.Windows.Controls.ItemsControl.UpdateContainerForItem(
Int32 index)
at System.Windows.Controls.ItemsControl.RecreateVisualChildren()
at System.Windows.Controls.ItemsControl.RecreateVisualChildren(
IntPtr unmanagedObj)
यह मेरे लिए कॉम्बोबॉक्स बग जैसा लगता है। मैं सत्यापित कर सकता हूं कि CurrentCideomentCommentary से पहले CurrentVideo बदलता है, इसलिए चयनित आइटम हमेशा एक आइटम होना चाहिए जो सूची में है।
संबंधित, मैं वास्तव में मोड = दोवे नहीं चाहता, क्योंकि जब आइटमसोर्स बदल जाता है, तो चयनित इटैम अस्थायी रूप से शून्य है, जो मेरे मॉडल में वापस सेट हो जाता है, जिसे मैं वास्तव में नहीं चाहता हूं। लेकिन बाध्यकारी अन्यथा काम नहीं करता है (जो एक और बग की तरह लगता है)।
क्या आप यह सुनिश्चित करने के लिए जांच कर रहे हैं कि CurrentCommentary अभी भी CurrentVideo में है। टिप्पणी सूची, क्योंकि यदि यह नहीं है, तो आपको यह त्रुटि मिल जाएगी। –
मैंने यह जांचने के लिए दोनों चयनित गुणों में कनवर्टर इंजेक्शन दिया है कि चयनित आइटम वास्तव में आइटम्ससोर्स में है या नहीं। ऐसा लगता है: आइटम स्रोत बदलता है। उस परिवर्तन ने चयनित इटैम को शून्य बनने का कारण बनता है। चयनित कॉमेंटरी बदलाव शून्य में है क्योंकि यह दो तरह से बाध्यकारी है। चयनित कॉमेंटरी ऐप द्वारा उचित मूल्य पर सेट है, यह मान निश्चित रूप से आइटमसोर्स के भीतर है। त्रुटि होती है। यदि बाइंडिंग मोड दोवे नहीं है, तो कोई त्रुटि नहीं है, लेकिन फिर उचित आइटम कभी नहीं चुना जाता है। –