में केवल एक्सएएमएल का उपयोग करके कैनवास के अंदर एक तत्व को कैनवास के अंदर एक तत्व को पोजिशन करना Canvas
के अंदर किसी तत्व को पोजिशन करने के बारे में सामान्य प्रश्न "तत्व के केंद्र को कैसे स्थानांतरित करें (शीर्ष बाएं की बजाय कोने) "।डब्ल्यूपीएफ
- WPF: Resizing a circle, keeping the center point instead of TopLeft?
- WPF Center Ellipse at X, Y
- WPF element positioning on a Canvas
कई समाधान प्रस्तुत कर रहे हैं, लेकिन वे सभी कमियां हैं।
सबसे आसान समाधान Canvas.Left
और Canvas.Top
गुणों को प्रोग्रामेटिक रूप से सेट करते समय तत्व आकार को समायोजित करना है। यह काम करता है, लेकिन केवल एक बार। यह समाधान बाइंडिंग का समर्थन नहीं करता है और जब तत्व का आकार बदल जाता है तो यह टूट जाएगा। तुम भी Canvas.Left
या Canvas.Top
समाधान का एक और सेट का उपयोग
सेट नहीं कर सकता शामिल या तो RenderTransform
या Margin
उपयोग परिवर्तनों अनुवाद करते हैं। इन समाधानों को -0.5 * Width
या -0.5 * Height
पर कुछ संपत्ति बाध्य करने की आवश्यकता है। इस तरह के बाध्यकारी के लिए कस्टम ValueConverter
बनाना आवश्यक है और केवल XAML का उपयोग करना असंभव है।
इसलिए, ताकि उसके Canvas.Left
और Canvas.Top
तत्व के केंद्र के अनुरूप है और दोनों आकार और स्थिति गुण कुछ अन्य संपत्तियों के लिए बाध्य किया जा सकता है कैनवास के अंदर एक तत्व की स्थिति के लिए एक सरल तरीका है?
कमाल! आपका बहुत बहुत धन्यवाद! –