Windows应用程序中的图像淡出c#

时间:2014-08-11 08:28:06

标签: windows-store-apps

我正在使用c#中的windows 8商店应用程序。我需要在应用程序中实现图像淡出。

我尝试在其上添加边框并增加厚度但无法正常工作。

任何人都可以帮助我实现它。

由于

1 个答案:

答案 0 :(得分:0)

通过使用可视状态管理器,您可以实现图像淡入淡出动画。 (我没有尝试过这段代码,如果您发现任何错误,请告诉我:));

<Button x:Name="btnFade" Content="Fade" Click="Button_Click" />
<Image x:Name="imageControl" width="500" height="500" Source="ms-appx:///dummy.jpg" />
<VisualStateManager.VisualStateGroups>
        <VisualStateGroup >
            <VisualState x:Name="FadeInState">
                <Storyboard>
                    <DoubleAnimation
                Storyboard.TargetName="imageControl"
                Storyboard.TargetProperty="Opacity"
                From="1.0" To="0.5" Duration="0:0:5" 
                />

                </Storyboard>
            </VisualState>
            <VisualState x:Name="FadeOutState">
                <Storyboard>
                    <DoubleAnimation
                Storyboard.TargetName="imageControl"
                Storyboard.TargetProperty="Opacity"
                From="0.5" To="1.0" Duration="0:0:5"
         />
                </Storyboard>
            </VisualState>
        </VisualStateGroup>                
    </VisualStateManager.VisualStateGroups>
</Grid>

// code behind
private bool isFadeIn = false;

private async void Button_Click(object sender, RoutedEventArgs e)
{
    if(isFadeIn == true)
        VisualStateManager.GoToState(gridControl, "FadeInState", true);
    else
        VisualStateManager.GoToState(gridControl, "FadeOutState", true);

    isFadeIn != isFadeIn;
}