के भीतर नहीं आता है, मैं एक सिल्वरलाइट 3 ऐप विकसित कर रहा हूं और जब मैं किसी कैनवास में ऑब्जेक्ट जोड़ने का प्रयास करता हूं तो यह वास्तव में अजीब त्रुटि प्राप्त कर रहा है। मेरा कोड निम्नानुसार है:बच्चे। जोड़ें (आइटम) मान अपेक्षित सीमा
for (int i = 0; i < person.Children.Count; i++)
{
//Add children in same position as parent
Person child = person.Children[i];
child.x_PositionTransform.X = person.x_PositionTransform.X;
child.x_PositionTransform.Y = person.x_PositionTransform.Y;
child.Click += new RoutedEventHandler(person_Click);
x_LayoutRoot.Children.Add(child);
}
पहली बार जब मैं इसका उपयोग करता हूं, तो यह अपेक्षा करता है। हालांकि, जब मैंने x_LayoutRoot.Children मारा। इस कोड का उपयोग करके बनाई गई किसी ऑब्जेक्ट ऑब्जेक्ट पर क्लिक करने के बाद (बच्चे) जोड़ें, मुझे एक ArgumentException मुझे बता रहा है कि "मान अपेक्षित सीमा में नहीं आता है।"
हालांकि, जब मैं x_LayoutRoot.Children में बच्चे को जोड़ने से पहले निम्नलिखित कोड जोड़ता हूं, तो समस्या गायब हो जाती है।
child.SetValue(Canvas.NameProperty, "child" + objCount++);
ऐसा क्यों हो रहा है? क्या यह एक सिल्वरलाइट बग है, या (अधिक संभावना है) क्या मुझे कुछ याद आ रहा है?
आप FrameworkElement.NameProperty इस्तेमाल कर सकते हैं Canvas.NameProperty –