मेरे पास दृश्यता के लिए दो अलग-अलग कन्वर्टर्स हैं, एक इस पर आधारित है कि कोई फ़ील्ड अपडेट किया गया है और कोई इस पर आधारित है कि फ़ील्ड को देखने की अनुमति है या नहीं। मैं अपने पेज पर प्रत्येक टेक्स्ट आइटम के लिए अपडेटेड फ़ील्ड का उपयोग करता हूं ताकि एक स्टार एक अपडेटेड फ़ील्ड के बगल में दिखाई दे। लेकिन कुछ टेक्स्ट आइटम केवल अनुमति स्तरों के आधार पर कुछ उपयोगकर्ताओं के लिए दृश्यमान होते हैं।बूलियन और दो दृश्यता कन्वर्टर्स कैसे करें
उदाहरण के लिए:
<Image Visibility="{Binding ElementName=MyObject, Path=UpdatedFields, Mode=OneWay, Converter={StaticResource updatedFieldConverter}, ConverterParameter=FieldToTest}" Source="Properties:Resources.star_yellow" />
और
<TextBlock FontSize="21" Foreground="{DynamicResource LabelBrush}" Text="{x:Static Properties:Resources.Some_Text}" Visibility="{Binding Source={StaticResource allowedFields}, Path=Some_Text_Field, Converter={StaticResource visibilityConverter}}" />
मेरे समस्या अनुमति आवश्यक फ़ील्ड के मामले के लिए मैं दोनों कन्वर्टर्स चलाने के लिए निर्धारित करने के लिए करता है, तो स्टार दिखाता है कि जरूरत है। क्या दो कन्वर्टर्स के परिणामों पर बुलियन "और" करने का कोई तरीका है?
मैंने this post पर देखा लेकिन यह दो अलग-अलग कन्वर्टर्स में पैरामीटर के विभिन्न सेटों को पारित करने की अनुमति नहीं देता है।
------- अद्यतन --------
मैं भी इस XAML
<Image Grid.Row="4" Grid.Column="0" Source="star_yellow.png">
<Image.Visibility>
<MultiBinding Converter="{StaticResource combinedVisibilityConverter}" ConverterParameter="FieldToTest" >
<Binding ElementName="allowedFieldsModel" Path="Some_Text_Field" Mode="OneWay" />
<Binding ElementName="MyObject" Path="UpdatedFields" Mode="OneWay" />
</MultiBinding>
</Image.Visibility>
</Image>
के साथ एक MultiValueConverter बनाने की कोशिश की लेकिन जब यह कनवर्टर दोनों मूल्यों में प्रवेश करती है "DependencyProperty.UnsetValue"। तो मैं स्पष्ट रूप से यहाँ कुछ गलत कर रहा हूँ।
-------- समाधान ---------
मैं इस को संशोधित करने के लिए किया था, लेकिन उसके बाद यह काम किया।
<Image.Visibility>
<MultiBinding Converter="{StaticResource combinedVisibilityConverter}" ConverterParameter="FieldToTest">
<Binding Source="{StaticResource allowedFieldsModel}" Path="Some_Text_Field" />
<Binding Path="MyObject.UpdatedFields" />
</MultiBinding>
</Image.Visibility>
मैंने कोशिश की कि बिना किसी किस्मत के, – Bill
@Piciclopz अपडेट करें: मैंने एक उदाहरण दिया है।यह मेरी मशीन पर काम करता है =) आपका मामला उस से अधिक जटिल प्रतीत होता है, लेकिन शायद यह मदद करता है। – Jens
यह लगभग मेरे लिए काम करता था, लेकिन जैसा कि आपने कहा था, मेरा मामला थोड़ा और जटिल था। मैंने ऊपर अपना समाधान पोस्ट किया। आपकी सहायता के लिए धन्यवाद. – Bill