Использование ресурсов в качестве преобразования приводит к преобразователю привязки

Когда я пытаюсь привязать преобразователь значений из определенного перечисления Status к кисти, я получаю сообщение об ошибке в моем конструкторе XAML:

Ресурс 'OKStatus' не найдено.

Приложение отлично работает во время выполнения, но я не вижу свой графический интерфейс в дизайнере. ресурс не найден. Приложение отлично работает во время выполнения, но я не могу ...

Когда я пытаюсь привязать преобразователь значений из определенного перечисления Status к кисти, я получаю сообщение об ошибке в моем конструкторе XAML:

Ресурс 'OKStatus' не найдено.

Приложение отлично работает во время выполнения, но я не вижу свой графический интерфейс в дизайнере. ресурс не найден. Приложение отлично работает во время выполнения, но я не могу ...

Когда я пытаюсь привязать преобразователь значений из определенного перечисления Status к кисти, я получаю сообщение об ошибке в моем конструкторе XAML:

Ресурс 'OKStatus' не найдено.

Приложение отлично работает во время выполнения, но я не вижу свой графический интерфейс в дизайнере. Мои ресурсы определены в файле color.xaml, который читается во время выполнения. Весь код находится в одном пространстве имен

Мой XAML:

xmlns: config = "clr-namespace: App.MyNamespace"

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="c:\Skins\Colors.xaml" />
            <ResourceDictionary Source="c:\Skins\Common.xaml" />                
        </ResourceDictionary.MergedDictionaries>
        <config:StatusConverter x:Key="StateConverter" />
        <config:BoolConverter x:Key="BoolConverter" />
        <config:BooleanConverter x:Key="BooleanConverter" />
    </ResourceDictionary>
</UserControl.Resources>

и

Статус

Мой преобразователь:

[ValueConversion(typeof(bool), typeof(Brush))]
public class BoolConverter : IValueConverter
{
    public object Convert(object value, Type targetType,
        object parameter, CultureInfo culture)
    {
        bool state = (bool)value;

        FrameworkElement FrameElem = new FrameworkElement();

        if (state == true)
            return (FrameElem.FindResource("OKStatus") as Brush);
        else
            return (FrameElem.FindResource("ErrorStatus") as Brush);
    }

    public object ConvertBack(object value, Type targetType,
        object parameter, CultureInfo culture)
    {
        return null;
    }
}

В этом коде Я думаю, frameElem не будет знать об определенных мною ресурсах, поэтому мне нужен способ получить доступ к моим ресурсам во время проектирования. Возможно ли это?

11
задан Cœur 22 September 2018 в 12:41
поделиться