将资源的属性绑定到viewmodel

时间:2014-01-13 15:59:54

标签: c# wpf binding resources wpf-controls

我有IValueConverter我已经添加了依赖属性,因为我需要viewmodel来设置属性。

public class ParameterValueToString: ContentControl, IValueConverter
{

    public object Convert(object value
                         , Type targetType
                         , object parameter
                         , CultureInfo culture)
    {
        return Converter.ToString(value); //Throws NullReferenceException
    }

    public object ConvertBack(object value
                             , Type targetType
                             , object parameter
                             , CultureInfo culture)
    {
        /* convert back */
    }

    internal const string ConvertPropertyName = "Converter";

    public static readonly DependencyProperty ConverterProperty 
        = DependencyProperty.RegisterAttached(ConvertPropertyName
                                             , typeof(IParameterConverter)
                                             , typeof(ParameterValueToString));

    public IParameterConverter Converter
    {
        get { return (IParameterConverter) GetValue(ConverterProperty); }
        set { SetValue(ConverterProperty, value); }
    }
}

该属性是执行从ParameterValuestring的转换的对象。我试图重用代码。

VM的属性为IParameterConverter,名为ParameterConverter

WPF我设置了:

<Namespace:ParameterValueToString x:Key="pvts" Converter="{Binding ParameterConverter}"/>

但是当我尝试使用Converter属性时,我得到NullReferenceException

转换器的最终用途是将ParameterValue列表转换为字符串(并将该字符串转换回列表)。这是为了方便用户输入值:作为换行符分隔列表。

如何让转换器使用IParameterConverter

0 个答案:

没有答案
相关问题