[英]UWP ToggleButton image depending on IsChecked
我想给我的ToggleButton
取决于不同的图像IsChecked
的状态ToggleButton
,但在UWP风格触发不再存在,所以它以不同的方式来完成。
我遇到了讨论,其中假定的解决方案是使用DataTriggerBehavior
,但我无济于事。
我要实现的目标(未选中蓝色,选中绿色):
以下内容是否朝着正确的方向发展?
<ToggleButton
x:Name="ToggleButton"
IsChecked="{Binding SignalButtonSelected, Mode=TwoWay}"
Command="{Binding SignalButtonCommand}">
<Grid>
<Image x:Name="IsCheckedImage" Source="Images/Buttons/Button signal.png">
<Interactivity:Interaction.Behaviors>
<Core:DataTriggerBehavior Binding="{Binding IsChecked, ElementName=ToggleButton}" Value="True">
<Core:ChangePropertyAction TargetObject="{Binding ElementName=IsCheckedImage}" PropertyName="Visibility" Value="Collapsed" />
</Core:DataTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Image>
<Image x:Name="IsUncheckedImage" Source="Images/Buttons/Button electric ns.png">
<Interactivity:Interaction.Behaviors>
<Core:DataTriggerBehavior Binding="{Binding IsChecked, ElementName=ToggleButton}" Value="False">
<Core:ChangePropertyAction TargetObject="{Binding ElementName=IsUncheckedImage}" PropertyName="Visibility" Value="Collapsed" />
</Core:DataTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Image>
</Grid>
</ToggleButton>
还是有更好/更轻松的方法来实现这一目标? 我还阅读了一些有关VisualStateManager的知识,而我对这些知识也有零经验。
希望有人可以把我推向正确的方向...
尝试这个
<ToggleButton x:Name="ToggleButton"
IsChecked="{Binding SignalButtonSelected, Mode=TwoWay}"
Command="{Binding SignalButtonCommand}">
<Grid>
<Image x:Name="IsCheckedImage"
Source="Images/Buttons/Button signal.png">
<Interactivity:Interaction.Behaviors>
<Core:DataTriggerBehavior Binding="{Binding IsChecked, ElementName=ToggleButton}"
Value="True">
<Core:ChangePropertyAction TargetObject="{Binding ElementName=IsCheckedImage}"
PropertyName="Visibility"
Value="Collapsed" />
<Core:ChangePropertyAction TargetObject="{Binding ElementName=IsUncheckedImage}"
PropertyName="Visibility"
Value="Visible" />
</Core:DataTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Image>
<Image x:Name="IsUncheckedImage"
Source="Images/Buttons/Button electric ns.png">
<Interactivity:Interaction.Behaviors>
<Core:DataTriggerBehavior Binding="{Binding IsChecked, ElementName=ToggleButton}"
Value="False">
<Core:ChangePropertyAction TargetObject="{Binding ElementName=IsCheckedImage}"
PropertyName="Visibility"
Value="Visible" />
<Core:ChangePropertyAction TargetObject="{Binding ElementName=IsUncheckedImage}"
PropertyName="Visibility"
Value="Collapsed" />
</Core:DataTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Image>
</Grid>
</ToggleButton>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.