<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>
第一个可绑定资源适用于切换按钮模板属性上的“TemplateResource”,但是“SelectedTemplateResource”在跳跳虎设置器中不起作用。此代码位于资源字典中,而实际资源位于主题资源字典中。
我收到一条错误消息,说 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>