Xaml WP8上触发器的替代方案

Xaml WP8上触发器的替代方案,xaml,windows-phone-8,Xaml,Windows Phone 8,我已经了解到,WP8的XAML中不支持触发器。替代方法是什么?我想在点击按钮时使用触发器来更改按钮的背景图像。您可以只为图像的“点击”事件附加一个事件处理程序。没有代码示例,我不太确定我能帮上多少忙;但是,我在下面粘贴了一些代码: XAML <Image Source="/Assets/awesomeImg.png" Tap="AwesomeImg_Tap"/> 希望这有帮助 请试试这个。 Windows phone触发器 在这里,我将图像数据触发器

我已经了解到,WP8的XAML中不支持
触发器。替代方法是什么?我想在点击按钮时使用触发器来更改按钮的背景图像。

您可以只为图像的“点击”事件附加一个事件处理程序。没有代码示例,我不太确定我能帮上多少忙;但是,我在下面粘贴了一些代码:

XAML

                <Image Source="/Assets/awesomeImg.png" Tap="AwesomeImg_Tap"/>
希望这有帮助

请试试这个。 Windows phone触发器

在这里,我将图像数据触发器与布尔属性绑定,当布尔属性更改时,它将触发,setter将启动。确保您的属性是用实现的

xmlns:ec=“clr名称空间:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions”x:Class=“XXX\u XXXX”

本文建议使用可视状态,并提供了一个示例(以及其他示例的链接):可能会有所帮助?是的,当您以编程方式更改图像(视图)时,它会有所不同。我建议将事件处理程序(回调/触发器)绑定到ViewModel中的一个方法,该方法将负责遵循建议。请记住,MVVM是建议,而不是需求。对于您的特殊情况,您可能必须违反规则,因为WP不支持您的本机操作。这只是我的看法。“James Jeffery,如果你相信我的答案已经解决了你的问题,请考虑给我一个投票,或者给别人的答案打个记号。”
private void AwesomeImg_Tap(object sender, System.Windows.Input.GestureEventArgs e)
    {
      YourImageName.ImageSource = //code here to URI of image
    }
 xmlns:ec="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions" x:Class="XXX_XXXX"
<Image Source="/Assets/Images/Tick.png"
                   Stretch="None"
                   HorizontalAlignment="Stretch" 
                   VerticalAlignment="Top">
                <interactivity:Interaction.Triggers>
                    <ec:DataTrigger Binding="{Binding IsTapped}" Value="True">
                        <ec:ChangePropertyAction PropertyName="Source">
                            <ec:ChangePropertyAction.Value>

                                <BitmapImage UriSource="/Assets/Images/Close.png"/>
                            </ec:ChangePropertyAction.Value>
                        </ec:ChangePropertyAction>
                    </ec:DataTrigger>
                </interactivity:Interaction.Triggers>
            </Image>