खोज…


पैरामीटर

तरीका विवरण
ProvideValue MarkupExtension वर्ग में केवल एक विधि है जिसे ओवरराइड किया जाना चाहिए, XAML पार्सर तब मार्कअप एक्सटेंशन के परिणाम का मूल्यांकन करने के लिए इस पद्धति द्वारा प्रदान किए गए मूल्य का उपयोग करता है।

टिप्पणियों

गुण उपयोग में गुण, संपत्ति तत्व उपयोग में गुण, या दोनों के लिए मान प्रदान करने के लिए एक मार्कअप एक्सटेंशन लागू किया जा सकता है।

जब एक विशेषता मान प्रदान करने के लिए उपयोग किया जाता है, तो एक XAML प्रोसेसर के लिए एक मार्कअप एक्सटेंशन अनुक्रम को अलग करने वाला सिंटैक्स, घुंघराले ब्रेस ({और}) को खोलने और बंद करने की उपस्थिति है। मार्कअप एक्सटेंशन के प्रकार को स्ट्रिंग कर्ल द्वारा ओपनिंग कर्ली ब्रेस के तुरंत बाद पहचाना जाता है।

जब संपत्ति तत्व सिंटैक्स में उपयोग किया जाता है, तो एक मार्कअप एक्सटेंशन नेत्रहीन समान होता है जो किसी संपत्ति तत्व मूल्य प्रदान करने के लिए उपयोग किया जाता है: एक एक्सएएमएल तत्व घोषणा जो एंगल ब्रैकेट (<>) के भीतर संलग्न, मार्कअप एक्सटेंशन क्लास को एक तत्व के रूप में संदर्भित करता है।

अधिक जानकारी के लिए https://msdn.microsoft.com/en-us/library/ms747254(v=vs.110).aspx

Markal Extension जिसका उपयोग IValueConverter के साथ किया जाता है

मार्कअप एक्सटेंशन के लिए सबसे अच्छे उपयोगों में से एक IValueConverter के आसान उपयोग के लिए है। BoolToVisibilityConverter के नीचे के नमूने में एक वैल्यू कन्वर्टर है, लेकिन चूंकि यह स्वतंत्र है, इसलिए इसे मार्कअप एक्सटेंशन की मदद से वैल्यू कन्वर्टर के सामान्य समतल बिना उपयोग किया जा सकता है। XAML में बस उपयोग करें

Visibility="{Binding [BoolProperty], Converter={[xmlns]:BoolToVisibilityConverter}}"

और आप आइटम दृश्यता को बूल मान पर सेट कर सकते हैं।

public class BoolToVisibilityConverter : MarkupExtension, IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is bool)
                return (bool)value ? Visibility.Visible : Visibility.Collapsed;
            else
                return Visibility.Collapsed;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is Visibility)
            {
                if ((Visibility)value == Visibility.Visible)
                    return true;
                else
                    return false;
            }
            else
                return false;
        }

        public override object ProvideValue(IServiceProvider serviceProvider)
        {
            return this;
        }
    }

XAML- परिभाषित मार्कअप एक्सटेंशन

XAML में चार पूर्वनिर्धारित मार्कअप एक्सटेंशन हैं:

x:Type नाम प्रकार के लिए ऑब्जेक्ट की आपूर्ति करता है। इस सुविधा का उपयोग अक्सर शैलियों और टेम्पलेट्स में किया जाता है।

<object property="{x:Type prefix:typeNameValue}" .../>

x:Static स्थैतिक मूल्यों का उत्पादन करता है। मान मूल्य-प्रकार कोड संस्थाओं से आते हैं जो सीधे लक्ष्य संपत्ति के मूल्य के प्रकार नहीं हैं, लेकिन उस प्रकार का मूल्यांकन किया जा सकता है।

<object property="{x:Static prefix:typeName.staticMemberName}" .../>

x:Null एक संपत्ति के लिए मूल्य के रूप में x:Null निर्दिष्ट करता है और इसका उपयोग या तो विशेषताओं या संपत्ति तत्व मूल्यों के लिए किया जा सकता है।

<object property="{x:Null}" .../>

x:Array एक्सएएमएल सिंटैक्स में सामान्य सरणियों के निर्माण के लिए समर्थन प्रदान करता है, ऐसे मामलों के लिए जहां WPF आधार तत्वों और नियंत्रण मॉडल द्वारा प्रदान किया गया संग्रह समर्थन जानबूझकर उपयोग नहीं किया जाता है।

<x:Array Type="typeName">
  arrayContents
</x:Array>


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow