Использование ValueConverter для возврата StaticResource

Я пытаюсь настроить статические ресурсы для разных состояний в своих бизнес-объектах. Идея состоит в том, что я могу использовать преобразователь значений, чтобы взять бизнес-объект и вернуть соответствующую фоновую кисть в зависимости от алгоритма.Я бы хотел, чтобы ресурсы были статическими, чтобы я мог проектировать их в дизайнере и переключать вручную, чтобы просмотреть, как они будут выглядеть во время разработки, но иметь возможность использовать их программно.

Цель состояла бы в том, чтобы иметь что-то в этом роде:

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        var data = value as DummyData;

        if (data == null)
            return null;

        //Find resources
        if (data.VarianceAmount >= 0)
            return StaticResources.HighBackground;
        else
            return StaticResources.LowBackground;
    }

Если статические ресурсы объявлены в элементе page/control/framework в иерархии, как мне получить к ним доступ изнутри преобразователя значений? Я установил свой преобразователь значений в DependencyObject, но я не уверен, как оттуда перемещаться по иерархии.

5
задан Tristan 2 August 2012 в 13:03
поделиться