2
我寫了一個轉換器,讓通價值
Value
爲Bool
Parameter
爲String
我用這樣的:
BorderBrush="{Binding IsSelected,
Converter={StaticResource BoolToColorBrushConverter},
ConverterParameter='#ff00bfff;#0000bfff'}"
如果Value
爲True
,則轉換器從參數中的第一個顏色十六進制代碼返回ColorBrush
否則返回第二個顏色十六進制代碼中的ColorBrush
。
我的轉換工作非常好但我想知道我怎麼可以用這樣的:
<Color x:Key="MyColor1">#66bb66</Color>
--------------------
BorderBrush="{Binding IsSelected,
Converter={StaticResource BoolToColorBrushConverter},
ConverterParameter=#ff00bfff;{StaticResource MyColor1}}"
結果在設計模式:
結果在運行:
但我需要的StaticResource
的顏色的十六進制代碼在我的參數是這樣的:
Parameter: "#ff00bfff;#66bb66"
我的問題是如何傳遞的結合字符串我ConverterParameter
一個StaticResource
值???
您的解決方案是什麼?
使整個參數字符串成爲資源*或*向您的轉換器添加屬性並創建具有不同屬性值的多個轉換器對象*或*使用帶有IMultiValueConverter的MultiBinding。 – Clemens
你不能那樣做。相反,使用您可以用來綁定的顏色添加一個屬性,您可以從中調用該轉換器。 – helb
這看起來像是一個'MultiValueConverter'的完美任務。 – almulo