我使用兩種文本顏色ColorA和ColorB創建自定義控件。 ColorA連接到控件的Foreground
屬性,並將ColorB連線到名爲ForegroundAlt
的自定義依賴項屬性。這兩個屬性都是Brush
對象。該控件的XAML獲得使用該標記的屬性值:XAML:將筆刷轉換爲顏色?
<SolidColorBrush x:Key="BrushA" Color="{Binding Path=Foreground, RelativeSource={RelativeSource TemplatedParent}}" />
<SolidColorBrush x:Key="BrushB" Color="{Binding Path=ForegroundAlt, RelativeSource={RelativeSource TemplatedParent}}" />
我需要動畫兩種顏色間的中小企業的文本在控制模板,這就是我遇到的問題。
通常情況下,我會簡單地創建一個數據綁定到每個Brush.Color財產,像這樣:
To="{Binding Source={StaticResource BrushB}, Path=Color}"
但是,這不會在這裏工作。事實證明,you can't use bindings on an animation inside a control template。
作爲一種變通方法,我想打造一雙Color
資源使用畫筆資源附和:
<Color x:Key="ColorA" ??? />
<Color x:Key="ColorB" ??? />
每個Color
資源應該有其相應的畫筆的顏色。然後,我可以將這些顏色作爲靜態資源引用,並避免在動畫中綁定數據。
所以,這裏是我的問題:
- 我怎麼會宣佈Color
資源?
- 有沒有簡單的方法來完成工作?
感謝您的幫助。
我認爲它會工作,只要我不在動畫中使用數據綁定。但我正在研究一種避免第二對資源的更好方法。如果它有效,我會在這裏發佈。 – 2011-02-03 16:05:31