मैं वर्तमान में सिल्वरलाइट 3 में एक कैनवास के लिए वस्तुओं का संग्रह बाध्य करने के लिए नीचे के रूप में एक ItemsControl का उपयोग कर कोशिश कर रहा हूँ पर एक आयत की स्थिति बाइंडिंग:सिल्वरलाइट 3 - डाटा एक कैनवास
<ItemsControl x:Name="ctrl" ItemsSource="{Binding myObjectsCollection}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas></Canvas>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Rectangle Stroke="LightGray" Fill="Black" StrokeThickness="2"
RadiusX="15" RadiusY="15" Canvas.Left="{Binding XAxis}"
Height="25" Width="25">
</Rectangle>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
दुर्भाग्य से उस पर बाध्यकारी लगता है कैनवास। लिफ्ट को अनदेखा किया जा रहा है। जो मैंने सीखा है, उससे here ऐसा लगता है कि यह एक सामग्री प्रस्तुति के अंदर रखे गए आइटमों के कारण है, जो कि आइटम पैनल में निर्दिष्ट वास्तविक कैनवास नहीं है।
क्या कोई तरीका है कि मैं कैनवास पर तत्वों की स्थिति निर्धारित करने के लिए डेटा बाइंडिंग का उपयोग कर सकता हूं?
दुर्भाग्य से संपत्ति बाईं ओर पढ़ी जाती है और सेट नहीं की जा सकती है। – Blounty
मुझे नहीं पता कि यह केवल पढ़ने के लिए क्यों है। वैसे भी मैं एक मूल्य कनवर्टर का उपयोग करके उस काम को करने में कामयाब रहा: <आयत = मार्जिन = "{बाइंडिंग एक्सएक्सिस, कनवर्टर = {स्टेटिक रिसोर्स वाममार्गिन कनवर्टर}}" /> लेकिन यह निश्चित रूप से एक सुरुचिपूर्ण समाधान नहीं है। – Mart
वाममार्गिन कनवर्टर कैसे काम करता है और जब यह लागू होता है तो मार्जिन कंटेनर के बाएं किनारे के सापेक्ष सभी बाध्य वस्तुओं पर लागू होता है? – Blounty