C# WP7在每次点击时上下和上下旋转箭头图像

C# WP7在每次点击时上下和上下旋转箭头图像,c#,windows-phone-7,xaml,C#,Windows Phone 7,Xaml,我将箭头图像从下向上旋转,当用户第一次点击它时,它工作正常 但我的问题是,如何在第二次轻触时从下向上反转… 下面是我的XAML图像,它位于longlistselector控件中 <Image Grid.Column="2" Tap="ArrowDownImg_Tap" x:Name="ArrowDownImg" Margin="0,-10,-33,0" Height="40" Width="40" Source="/Images/appbar.arrow.down.circle.rest

我将箭头图像从下向上旋转,当用户第一次点击它时,它工作正常

但我的问题是,如何在第二次轻触时从下向上反转…

下面是我的XAML图像,它位于longlistselector控件中

 <Image Grid.Column="2" Tap="ArrowDownImg_Tap" x:Name="ArrowDownImg" Margin="0,-10,-33,0" Height="40" Width="40" Source="/Images/appbar.arrow.down.circle.rest.png" />

最好的方法是使用样式。实际上,这看起来更像是一个切换按钮,而不是一个图像。你可以在办公室工作

使用将其添加到资源中

<local:ValueConverterBoolToVis x:Key="local:ValueConverterBoolToVis" />


箭头是按钮吗?这里更好的方法是使用可视状态。@dbaseman是的,它将显示一个texblock感谢您的帮助,这是做什么的Converter={StaticResource ValueConverterBoolToVis}}我在Converter={StaticResource ValueConverterBoolToVis}中遇到一个错误,我是否缺少什么东西。@AI25将布尔转换为
可见性
(枚举)值。请参阅上面的我的更新。
<Style TargetType="ToggleButton" x:Key="FlipButton">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ToggleButton">
                <Grid>
                    <VisualStateManager.VisualStateGroups>
                        <VisualStateGroup x:Name="CheckStates">
                            <VisualState x:Name="Checked">
                                <Storyboard>
                                    <DoubleAnimation Duration="0" Storyboard.TargetName="rotate" Storyboard.TargetProperty="(RotateTransform.Angle)" To="180" />
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="Unchecked">
                                <Storyboard>
                                    <DoubleAnimation Duration="0" Storyboard.TargetName="rotate" Storyboard.TargetProperty="(RotateTransform.Angle)" To="0" />
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                    </VisualStateManager.VisualStateGroups>
                    <ContentPresenter Content="{TemplateBinding Content}">
                        <ContentPresenter.RenderTransform>
                            <RotateTransform x:Name="rotate" CenterX="0.5" CenterY="0.5" />
                        </ContentPresenter.RenderTransform>
                    </ContentPresenter>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
<ToggleButton x:Name="MyToggleButton" Style="{StaticResource FlipButton}">
    <ToggleButton.Content>
        <Image Source="/Images/appbar.arrow.down.circle.rest.png" />
    </ToggleButton.Content>
</ToggleButton>
<TextBlock Text="Hello world" Visibility="{Binding ElementName=MyToggleButton,Path=IsChecked,Converter={StaticResource ValueConverterBoolToVis}}" />
public class ValueConverterBoolToVis : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return ((bool)value) ? Visibility.Visible : Visibility.Collapsed;
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}
<local:ValueConverterBoolToVis x:Key="local:ValueConverterBoolToVis" />