什麼是最簡單的方法使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