Shi*_*mmy 5 silverlight checkbox triggers togglebutton silverlight-5.0
制作ToggleButton
内容的最短的xamly方法取决于其检查状态是什么?
在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>
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)