在故事板中的代码后面更改ImageSource

时间:2012-03-05 12:17:03

标签: c# wpf image xaml storyboard

我需要创建一个故事板,在其中我更改Image-control的ImageSource以使其更流畅但我不知道如何做到这一点,因为我是故事板的新手。

有人可以解释一下如何做这个吗?

这是我的XAML: (CenterScaleImage只是一个带有2个额外属性的Image-ctrl)

<Grid x:Name="LayoutRoot" DataContext="{Binding Main, Mode=OneWay, Source={StaticResource Locator}}" Background="White">
        <Controls:CenterScaleImage x:Name="Image" Margin="0" Source="{Binding PropVisibleImage}" ScaleFactor="{Binding PropScaleFactor}" CenterScaleX="{Binding PropScaleCenterX}" CenterScaleY="{Binding PropScaleCenterY}">
            <Controls:CenterScaleImage.RenderTransform>
                <TransformGroup>
                    <ScaleTransform ScaleY="{Binding PropScaleFactor}" ScaleX="{Binding PropScaleFactor}" CenterX="{Binding PropScaleCenterX}" CenterY="{Binding PropScaleCenterY}"/>
                    <SkewTransform/>
                    <RotateTransform/>
                    <TranslateTransform X="{Binding PropPanHorizontal}" Y="{Binding PropPanVertical}"/>
                </TransformGroup>
            </Controls:CenterScaleImage.RenderTransform>
        </Controls:CenterScaleImage>
    </Grid>

1 个答案:

答案 0 :(得分:1)

您无法将图像源更改为故事板的一部分。故事板动画要求插值可以在动画过渡(补间)中的一个状态和下一个状态之间进行计算 - 在这种情况下交换图像毫无意义。 〜最好的办法是创建一个数据或属性触发器来交换图像源,如果你需要的话。