用户控件内的情节提要不起作用

本文关键字:不起作用 控件 用户 | 更新日期: 2023-09-27 18:27:56

我正在开发一个Windows8Store应用程序。我已经创建了以下用户控件:

<UserControl x:Class="RTV_W8.AnimatedImage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:RTV_W8" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400"> <UserControl.Resources> <!-- Animates the rectangle's opacity. --> <Storyboard x:Name="ContainerGridStoryboard"> <DoubleAnimation Storyboard.TargetName="MainGrid" Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:5" AutoReverse="False"> </DoubleAnimation> </Storyboard> </UserControl.Resources> <Grid x:Name="MainGrid" CacheMode="BitmapCache"> <Image Stretch="UniformToFill" x:Name="PictureImage"/> </Grid> </UserControl>

带有以下cs文件(此处仅部分显示)

        public AnimatedImage()
    {
        this.InitializeComponent();
        this.Loaded += AnimatedImage_Loaded;
        this.PictureImage.Loaded += PictureImage_Loaded;
    }
    void AnimatedImage_Loaded(object sender, RoutedEventArgs e)
    {
        this.ContainerGridStoryboard.Begin();
    }

我的问题是图像板在加载图像时没有启动。此用户控件在另一个用户控件中使用。我尝试了多种变体,试图让动画发挥作用,但都不起作用。我希望用户控件将它的不透明度动画化到视图中,而不是只是拉屎。尽管我可以通过断点看到ContainerGridStoryboard.Begin();执行时,屏幕上没有发生任何事情

编辑:在另一个稍后在数据模板中使用的用户控件中,如果我将故事板应用到它工作的主网格上,则用户控件将被设置为动画。但是,如果我将其应用于第二个网格(包含在主网格中)或任何其他元素,动画将不起作用。这就是我最初创建动画图像的原因。

用户控件内的情节提要不起作用

我刚刚解决了这个问题。所以我的用户控件在几个网格中,在另一个用户控件中,在一个网格视图中的数据模板中。问题是包含动画图像的主网格开关设置为CacheMode="BitmapCache"。当我删除该属性时,图像会褪色。

当我设置图像的源并将UserControl嵌入到页面中时,图像会按预期淡入。