Я написал конвертер, который получитPass значения StaticResource к ConverterParameter в зерноуборочной строке
Value
вBool
Parameter
вString
Я использую это так:
BorderBrush="{Binding IsSelected,
Converter={StaticResource BoolToColorBrushConverter},
ConverterParameter='#ff00bfff;#0000bfff'}"
Если Value
- True
, тогда преобразователь возвращает ColorBrush
с первого цвета шестнадцатеричного кода в параметре else, возвращая ColorBrush
из второго шестнадцатеричного кода цвета.
Мой конвертер работает очень хорошо Но я хочу знать, как я могу использовать его как это:
<Color x:Key="MyColor1">#66bb66</Color>
--------------------
BorderBrush="{Binding IsSelected,
Converter={StaticResource BoolToColorBrushConverter},
ConverterParameter=#ff00bfff;{StaticResource MyColor1}}"
Результат в режиме конструктора:
Результат на RunTime :
Но я нужен цвет Hex код StaticResource
в моем параметре, как это:
Parameter: "#ff00bfff;#66bb66"
Мой вопрос, как я могу передать значение StaticResource
в зерноуборочной строке в мои ConverterParameter
???
Каково ваше решение?
Сделать всю строку параметров ресурсом * или * добавить свойство в ваш конвертер и создать несколько объектов конвертера с различными значениями свойств * или * использовать MultiBinding с IMultiValueConverter. – Clemens
Вы не можете этого сделать. Вместо этого добавьте свойство с цветом, который вы можете использовать для привязки и с которого вы можете вызвать конвертер. – helb
Это выглядит как идеальная задача для «MultiValueConverter». – almulo