0
<ToggleButton Command="{Binding Path=Command}" Content="{Binding Path=DisplayName}" Template="{Utilities:BindableResource {Binding Path=TemplateResource}}">
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Template" Value="{Utilities:BindableResource {Binding Path=SelectedTemplateResource}}" />
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
第一個可綁定資源對togglebutton的模板屬性上的「TemplateResource」起作用,但「SelectedTemplateResource」在tiggers設置器中不起作用。此代碼位於資源詞典中,實際資源位於主題資源詞典中。Resource 1 works,2 does not
我得到一個錯誤,指出對於setter值,xamlparseexception的key爲null。我一直在堅持這幾個小時,但不知道爲什麼它不起作用...如果我拿出樣式並替換第一個綁定與第二個資源它顯示正確,但是樣式中的綁定將不起作用。
有沒有人知道爲什麼?
編輯 我剛試過這個,但沒有運氣。
<ToggleButton Command="{Binding Path=Command}" Content="{Binding Path=DisplayName}">
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Style.Triggers>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Template" Value="{Utilities:BindableResource {Binding Path=TemplateResource}}" />
</Trigger>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Template" Value="{Utilities:BindableResource {Binding Path=SelectedTemplateResource}}" />
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
你會想看看[依賴屬性值precentdence](http://msdn.microsoft.com/en-us/library/ms743230.aspx),因爲即使沒有錯誤,這也不起作用。 – 2012-04-11 19:43:59
反正有這個嗎?我有一個圍繞命令和工作區設置的mvvm模式,命令基本上是一個具有指定主題資源的按鈕......它可以工作......它只是獲取點擊按鈕時選定狀態資源更新的影響。 – bl4kh4k 2012-04-11 19:45:36
要修正優先覆蓋,只需將樣式中的本地值('Template =「...」')移動到'Setter'。 – 2012-04-11 19:48:03