ConverterParameter
संपत्ति को बाध्य नहीं किया जा सकता क्योंकि यह एक निर्भरता संपत्ति नहीं है।
Binding
DependencyObject
से प्राप्त नहीं किया गया है इसकी कोई भी गुण निर्भरता गुण नहीं हो सकता है। नतीजतन, एक बाध्यकारी कभी भी किसी अन्य बाध्यकारी का लक्ष्य वस्तु नहीं हो सकता है।
हालांकि एक वैकल्पिक समाधान है।
public class AccessLevelToVisibilityConverter : IMultiValueConverter
{
public object Convert(
object[] values, Type targetType, object parameter, CultureInfo culture)
{
return values.All(v => (v is bool && (bool)v))
? Visibility.Visible
: Visibility.Hidden;
}
public object[] ConvertBack(
object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}
:
<Style TargetType="FrameworkElement">
<Setter Property="Visibility">
<Setter.Value>
<MultiBinding Converter="{StaticResource AccessLevelToVisibilityConverter}">
<Binding Path="Tag" RelativeSource="{RelativeSource Mode=FindAncestor,
AncestorType=UserControl}"/>
<Binding Path="Tag" RelativeSource="{RelativeSource Mode=Self}"/>
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
बहु मूल्य कनवर्टर इनपुट के रूप में स्रोत मानों की एक सरणी हो जाता है: आप एक multi-value converter एक सामान्य बाध्यकारी के बजाय साथ एक MultiBinding
इस्तेमाल कर सकते हैं