Как создать ресурс для локальной собственности? - PullRequest
0 голосов
/ 05 октября 2011

В моем 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 голосов
/ 06 октября 2011

Я использовал второй метод, добавил конструктор без параметров, а затем установил параметры, которые исходный конструктор принял в коде позади.

...