Я создаю стиль для настраиваемого элемента управления, который может быть одним из двух цветов.Как настроить конвертер для возврата свойств из шаблона
Мои свойства моего контроля: {SolidColorBrush color1, SolidColorBrush color2, bool usingColor1}.
Я пытаюсь сделать конвертер, который будет привязываться к useColor1 и вернет либо color1, либо color2. Я хотел бы определить мой конвертер, как это:
<Style.Resources>
<Converters:ValueParameterComparisonConverter x:Key="Color1WhenTrue" ValueWhenEqual="{DataTemplateKey Color1}" ValueWhenNotEqual="{DataTemplateKey Color2}"/>
</Style.Resources>
И использовать мой конвертер, как это:
<Border Background="{TemplateBinding UsingColor1, Converter={StaticResource Color1WhenTrue}}" />
Я реализовал это в моем коде, и она не работает. Я не понимаю, что делает DataTemplateKey и не думаю, что это правильное слово для этого сценария.
Как настроить мой конвертер для возврата свойств из моего шаблона?
Edit:
Вот интересная часть кода преобразователя:
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
bool isEqual;
if (value == null)
{
isEqual = null == parameter;
}
else
{
isEqual = value.Equals(parameter);
}
return isEqual ? this.ValueWhenEqual : this.ValueWhenNotEqual;
}
Не могли бы вы показать свой класс конвертера, пожалуйста? –
Я отправил функцию convert() – hededo
В ваш конвертер верните 'ValueWhenEqual' или' ValueWhenNotEqual', если это свойство, имеющее цвет. – XAMlMAX