<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" はティガー セッター内では機能しません。このコードは、実際のリソースがテーマ付きのリソース ディクショナリ内にあるリソース ディクショナリ内にあります。
セッター値の xamlparseexception のキーが null であるというエラーが表示されます。何時間もこれに取り組んできましたが、なぜ機能しないのかわかりません...スタイルを取り出して最初のバインディングを2番目のリソースに置き換えると、適切に表示されますが、スタイル内のバインディングは機能しません.
誰かが理由を知っていますか?
編集 これを試しましたが、運がありません。
<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>