如何为本地属性创建资源?

时间:2011-10-05 14:33:36

标签: c# wpf xaml data-binding resources

在我的WPF UserControl中,我有一个如下定义的属性:

    private Converters.CurrencyConverter _CurConverter = null;
    public Converters.CurrencyConverter CurConverter
    {
        get
        {
            if (_CurConverter == null)
                _CurConverter = new Converters.CurrencyConverter(decPlaces);

            return _CurConverter;
        }
    }

我想在我的xaml中设置一个资源,但我不知道该怎么做。我试过这个:

<UserControl.Resources>
    <ObjectDataProvider ObjectType="{x:Type LocalConverters:CurrencyConverter}"  ObjectInstance="{CurConverter}" x:Key="LocalCurConverter" />
</UserControl.Resources>

但这显然不对,它给出了如何使用ObjectInstance的问题。我也尝试过在资源声明中创建对象:

<UserControl.Resources>
    <LocalConverters:CurrencyConverter x:Key="CurConverter" />
</UserControl.Resources>

但这不起作用,因为我没有无参数构造函数。忘记这是一个转换器的事实,如何在后面的代码中为属性创建资源?

由于

1 个答案:

答案 0 :(得分:0)

我使用了第二种方法,添加了一个无参数构造函数,然后设置了代码隐藏中接受的原始构造函数的参数。