我試圖創建一個超鏈接,根據布爾值更改其文本。我想我可以利用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屬性不會更新。有任何想法嗎?