什么是最简单的方法使ToggleButton
内容取决于它的检查状态?取决于其选中状态的ToggleButton/CheckBox内容?
在WPF我可能会去一个DataTrigger
,它不存在于Silverlight中。
我尝试了以下方法,但它不起作用,只要我包含触发器,就会破坏对源的绑定。无论如何,触发器都无法工作。
<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>
我自己的方式没有资格作为短,所以我张贴作为评论:覆盖切换按钮模板,使用两个文本框,使用设置其可见性属性VisualStateManager。 – jv42 2012-04-04 08:53:07
@ jv42,这不会影响第一次绑定的控件,只有在渲染后更改时,请参阅[我的答案](http://stackoverflow.com/a/9989048/75500),它也解决了这个问题。 – Shimmy 2012-04-04 09:03:33
我从来没有遇到过问题。也许我错过了什么。 – jv42 2012-04-04 09:11:27