在这种情况下,您可以使用PropertyChangeAction。您可以在 Expression Blend的Assets选项卡上的行为类别中找到它。
将此操作应用于标签。将触发器属性更改为DataTrigger而不是默认的 EventTrigger。将触发器绑定到 DialButton 的IsPressed属性。每个 TextBlock 添加两个 PropertyChangeAction 并将其中一个的Value设置为true,将另一个设置为false。
这是其中之一的示例。另一个完全一样。
<TextBlock FontSize="43" x:Name="lblNumber" Margin="0,-5,0,0" Text="25">
<i:Interaction.Triggers>
<ec:DataTrigger Binding="{Binding IsPressed, ElementName=DialButton}" Value="true">
<ec:ChangePropertyAction PropertyName="Foreground">
<ec:ChangePropertyAction.Value>
<SolidColorBrush Color="Red"/>
</ec:ChangePropertyAction.Value>
</ec:ChangePropertyAction>
</ec:DataTrigger>
<ec:DataTrigger Binding="{Binding IsPressed, ElementName=DialButton}" Value="false">
<ec:ChangePropertyAction PropertyName="Foreground">
<ec:ChangePropertyAction.Value>
<SolidColorBrush Color="{StaticResource PhoneForegroundColor}"/>
</ec:ChangePropertyAction.Value>
</ec:ChangePropertyAction>
</ec:DataTrigger>
</i:Interaction.Triggers>
</TextBlock>
如果i:或ec:不起作用,请确保这些行位于 xaml 文件的顶部。
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:ec="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions"