我有一個自定義控件綁定到幾個屬性,我想分開樣式,但我面臨一個問題。 基本上它是一個帶有ContentControl的按鈕。 Button樣式依賴於PropertyA(bool),但ContentControls樣式依賴於PropertyA和PropertyB(具有5個元素的枚舉)。基於綁定改變其外觀的子控件的樣式
<Button Style="{Binding PropertyA, Converter={StaticResource styleSelector}}">
<Button.Template>
<ControlTemplate TargetType="Button">
[...]
<ContentControl x:Name="cc1">
<ContentControl.Template>
<MultiBinding Converter="{StaticResource contentSelector}">
<Binding Path="PropertyA" />
<Binding Path="PropertyB" />
</MultiBinding>
</ContentControl.Template>
</ContentControl>
[...]
</ControlTemplate>
</Button.Template>
</Button>
的風格移到資源
<Style x:Key="ButtonStyleA1" TargetType="Button">
[...]
</Style>
<Style x:Key="ButtonStyleA2" TargetType="Button">
[...]
</Style>
因爲ContentControl中是按鈕,它應該可以在ContentControl中的模板移動到ButtonStyleA1
和ButtonStyleA2
,減少依賴性PropertyB的一部分。 我試過在樣式中使用<Setter ... TargetName="cc1">
,但編譯器沒有找到cc1。 你有一個簡單而乾淨的解決方案,其中的綁定保留在按鈕的想法?
非常感謝!
您是否找到解決方案了? – Marc 2013-03-05 12:14:57
嗨,馬克,不是。我仍然使用基於多重綁定的'contentSelector'。 – 2013-03-07 07:57:27