अंतर्निहित WPF IValueConverters


85

ठीक है, यह एक अच्छा आश्चर्य था (इसे कई बार लिखने के बाद) यह पता लगाने के लिए कि System.Windows.Controls namepace में पहले से ही BooleanToVisibilityConverter मौजूद है।

संभवत: ऐसे और अधिक छिपे हुए समय बचाने वाले हैं।

किसी को कुछ मिला?

जवाबों:


99

मैंने ऑब्जेक्ट ब्राउज़र का उपयोग करके एक त्वरित ट्रैवेल किया और यही मेरे पास है।

से व्युत्पन्न IValueConverter:

System.Windows.Controls.AlternationConverter
System.Windows.Controls.BooleanToVisibilityConverter
System.Windows.Documents.ZoomPercentageConverter
System.Windows.Navigation.JournalEntryListConverter

Xceed.Wpf.DataGrid.Converters.CurrencyConverter
Xceed.Wpf.DataGrid.Converters.DateTimeToStringConverter
Xceed.Wpf.DataGrid.Converters.GreaterThanZeroConverter
Xceed.Wpf.DataGrid.Converters.IndexToOddConverter
Xceed.Wpf.DataGrid.Converters.IntAdditionConverter
Xceed.Wpf.DataGrid.Converters.InverseBooleanConverter
Xceed.Wpf.DataGrid.Converters.LevelToOpacityConverter
Xceed.Wpf.DataGrid.Converters.MultimodalResultConverter
Xceed.Wpf.DataGrid.Converters.NegativeDoubleConverter
Xceed.Wpf.DataGrid.Converters.NullToBooleanConverter
Xceed.Wpf.DataGrid.Converters.SourceDataConverter
Xceed.Wpf.DataGrid.Converters.StringFormatConverter
Xceed.Wpf.DataGrid.Converters.ThicknessConverter
Xceed.Wpf.DataGrid.Converters.TypeToBooleanConverter
Xceed.Wpf.DataGrid.Converters.TypeToVisibilityConverter
Xceed.Wpf.DataGrid.Converters.ValueToMaskedTextConverter

से व्युत्पन्न IMultiValueConverter:

System.Windows.Controls.BorderGapMaskConverter
System.Windows.Navigation.JournalEntryUnifiedViewConverter
System.Windows.Controls.MenuScrollingVisibilityConverter

Microsoft.Windows.Themes.ProgressBarBrushConverter
Microsoft.Windows.Themes.ProgressBarHighlightConverter

ध्यान दें Xceed वाले (कोई कनेक्शन नहीं) उनके DataGrid के साथ मुफ्त उपलब्ध हैं। के रूप में अच्छी तरह से उन के रूप में वहाँ चारों ओर कुछ चालाक सामान डिबगिंग कनवर्टर की तरह है । मैंने पिछले IValueConverter का भी उपयोग किया है और मुझे यकीन है कि कुछ और लैंबडा फंक्शन की अच्छाई भी मिलेगी।


3
आशा है कि आप बुरा नहीं मानेंगे - केवल निष्कर्षों को छाँटकर इसे संपादित किया। इनबिल्ट और एक्सशोर विशिष्ट क्या है, यह देखकर अच्छा लगा।
एडी पार्कर

1
मुझे आश्चर्य है कि उनमें से कौन से अभी भी यूनिवर्सल विंडोज प्लेटफॉर्म में उपलब्ध हैं, विंडोज 10 यूनिवर्सल एप्स विकसित करने के लिए?
एलेक्स वांग

1
MSDN पर, संस्करण सूचना अनुभाग में Microsoft से सभी कन्वर्टर्स के लिए सिर्फ ".NET फ्रेमवर्क - 3.0 से उपलब्ध" है। ऐसा लगता है कि यूनिवर्सल विंडोज प्लेटफॉर्म समर्थित नहीं है, @AHelloWorldDev। (उदा।
सिस्टम

28

3.5 SP1 से पहले, स्ट्रिंग प्रारूपण के लिए एक IValueConverter की आवश्यकता थी। अब, आप ऐसा करने के लिए बाइंडिंग पर StringFormat संपत्ति का उपयोग कर सकते हैं ।

MSDN पृष्ठ से:

<DataTemplate>
  <TextBlock>
    <TextBlock.Text>
      <MultiBinding  StringFormat="{}{0} -- Now only {1:C}!">
        <Binding Path="Description"/>
        <Binding Path="Price"/>
      </MultiBinding>
    </TextBlock.Text>
  </TextBlock>
</DataTemplate>

अधिक उदाहरणों के लिए इस पंक्ति को देखें: blogs.msdn.com/llobo/archive/2008/05/19/…
एशले डेविस

यह भी देखें msdn.microsoft.com/en-us/library/…
टॉम ए
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.