ToggleButton / CheckBox内容取决于它的选中状态? [英] ToggleButton/CheckBox content depending on its checked state?
本文介绍了ToggleButton / CheckBox内容取决于它的选中状态?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
什么是最短的xamly方式使 ToggleButton
内容取决于其检查状态?
What's the shortest xamly way to make a ToggleButton
contents depend on its checked state?
可能需要一个 DataTrigger
,它在Silverlight中不存在。
In WPF I'd probably go for a DataTrigger
which doesn't exist in Silverlight.
我试过下面的,但它不工作,一旦我包括触发器,绑定到源被打破。触发器将不会工作。
I tried the following, but it doesn't work, as soon as I include the triggers, the binding to the source is broken. The triggers won't work anyway.
<ToggleButton
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
IsChecked="{Binding IsArchived, Mode=TwoWay}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<ei:ChangePropertyAction
TargetObject="{Binding
RelativeSource={RelativeSource AncestorType=ToggleButton}}"
PropertyName="Content" Value="Unarchive project"/>
</i:EventTrigger>
<i:EventTrigger EventName="Unchecked">
<ei:ChangePropertyAction
TargetObject="{Binding
RelativeSource={RelativeSource AncestorType=ToggleButton}}"
PropertyName="Content" Value="Archive project"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ToggleButton>
推荐答案
<ToggleButton Width="50" Height="50">
<ToggleButton.Content>
<TextBlock x:Name="obj" Text="Foo"/>
</ToggleButton.Content>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<ei:ChangePropertyAction PropertyName="Text" Value="On" TargetName="obj"/>
</i:EventTrigger>
<i:EventTrigger EventName="Unchecked">
<ei:ChangePropertyAction PropertyName="Text" Value="Off" TargetName="obj"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ToggleButton>
这篇关于ToggleButton / CheckBox内容取决于它的选中状态?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文