हाल ही में मैंने पाया कि डब्ल्यूपीएफ एक्सएएमएल में विभिन्न माप इकाइयों का समर्थन करता है। डिफ़ॉल्ट डीआईपी के अलावा, पिक्सेल, इंच और सेंटीमीटर (जहां तक मुझे पता है) के लिए भी समर्थन है। यह डिजाइनर को इस तरह XAML लिखने की अनुमति देता है:डब्ल्यूपीएफ इकाइयों और कोड-पीछे
<Canvas>
<Line X1="0cm" X2="3cm" Y1="1cm" Y2="3cm" Stroke="Black"/>
</Canvas>
हालांकि, आप इन मानों को बाध्य नहीं कर सकते हैं। कल्पना कीजिए कि हमारे पास आयाम संपत्ति वाला व्यूमोडल है जो एक स्ट्रिंग है, उदाहरण के लिए "7 सेमी"। निम्नलिखित काम नहीं करेंगे:
<Button Width="{Binding Dimension}">Test</Button>
स्वरूप अपवाद फेंक दिया जाता है। इसी प्रकार, जब में कोड-पीछे एक FrameworkElement
, इस तरह बनाने:
Canvas1.Children.Add(new Button() { Width = "3cm", Content = "Test"});
संकलन में विफल रहता है क्योंकि अपवाद/निर्माता में फेंक दिया जाता है जहाँ भी आप नियंत्रण बनाने की कोशिश।
मुझे आश्चर्य है:
- यह स्वाभाविक इकाइयों (मेरे मामले मीट्रिक में - सेंटीमीटर) उपयोग करना संभव है में कोड-पीछे?
- कैसे?
- क्या WPF/XAML इकाइयों की एक पूरी सूची है?
संपादित करें:
यहाँ नीचे टिप्पणी से एक लिंक है, जो इस सवाल को हल करता है:)
http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width.aspx
यही वह है जिसे मैं ढूंढ रहा था, धन्यवाद! –
आपका स्वागत है, मदद करने में खुशी :) –