C# UWP切换按钮图像取决于已检查
我试图根据C# UWP切换按钮图像取决于已检查,c#,xaml,uwp,win-universal-app,C#,Xaml,Uwp,Win Universal App,我试图根据ToggleButton的IsChecked状态,给我的ToggleButton一个不同的图像,但是在UWP样式中,触发器不再存在,因此必须以不同的方式完成 我参加了一些讨论,其中假定的解决方案是使用DataTriggerBehavior,但我没有取得任何进展 我想要实现的目标(蓝色未选中,绿色已选中): 以下是正确的方向吗 <ToggleButton x:Name="ToggleButton" IsChecked="{Binding SignalButto
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>
试试这个
<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>
嘿,杰西卡,连续两次,你正在保存项目!再次感谢你的帮助!嘿,杰西卡,连续两次,你在拯救这个项目!再次感谢你的帮助!