我正在尝试创建一个根据布尔值更改其文本的超链接。我想我可以利用 CheckBox 的 IsChecked 方法。所以我为 CheckBox 编写了这个 ControlTemplate:
<CheckBox Checked="CheckBox_Checked" IsChecked="{Binding Path=SomeBool, Mode=TwoWay}">
<CheckBox.Template>
<ControlTemplate TargetType="{x:Type CheckBox}">
<BulletDecorator>
<BulletDecorator.Bullet>
<TextBlock>
<Hyperlink>
<TextBlock x:Name="TextBoxHyperlink">Unchecked</TextBlock>
</Hyperlink>
</TextBlock>
</BulletDecorator.Bullet>
<ContentPresenter />
</BulletDecorator>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="TextBoxHyperlink"
Property="Text"
Value="Checked" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</CheckBox.Template>
</CheckBox>
但是当我点击超链接时,什么也没有发生。选中状态未更改,TextBlock 的 Text 属性未更新。有任何想法吗?