मैं क्योंकि मैं रूपांतरण बनाने के लिए इस डेटा की जरूरत है और इस डेटा किसी अन्य वस्तु, नहीं एक मैं के लिए बाध्य कर रहा हूँ में है एक कनवर्टर कक्षा में एक DependencyProperty परिभाषित करने की जरूरत में एक संपत्ति को परिभाषित करना।एक IValueConverter वर्ग
मेरे कनवर्टर वर्ग है निम्नलिखित:
public class LEGOMaterialConverter : DependencyObject, IValueConverter
{
public DependencyProperty MaterialsListProperty = DependencyProperty.Register("MaterialsList", typeof(Dictionary<int, LEGOMaterial>), typeof(LEGOMaterialConverter));
public Dictionary<int, LEGOMaterial> MaterialsList
{
get
{
return (Dictionary<int, LEGOMaterial>)GetValue(MaterialsListProperty);
}
set
{
SetValue(MaterialsListProperty, value);
}
}
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
LEGOMaterial material = null;
MaterialsList.TryGetValue((int)value, out material);
return material;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
तो मैं यह Window.REsources क्षेत्र पर instanciating हूँ:
<Window.Resources>
<local:LEGOMaterialConverter x:Key="MaterialsConverter" MaterialsList="{Binding Path=Materials}" />
</Window.Resources>
मैं निम्न त्रुटि हो रही है:
'MaterialsList' property was already registered by 'LEGOMaterialConverter'.
किसी को भी इस त्रुटि पर एक सुराग है?
आपके लिए मल्टी-बाध्यकारी और एक MultiValueConverter उपयोग करने की कोशिश की है? Http://stackoverflow.com/questions/15309008/binding-converterparameter देखें। –