2010-10-25 118 views
0

如何通过xaml代码连续更改图像源?通过xaml代码更改图像源?

+0

“连续”?你什么意思 ? – 2010-10-25 09:07:51

+0

我想用另一个替换2个图像,我的意思是我想在1.秒后显示1.jpg,然后重复它一遍又一遍 – Bahar 2010-10-25 09:15:46

回答

1

的情况下就地:

<Image Source="smiley_stackpanel.png" Stretch="Fill"/> 

如果风格:

<Style TargetType="Image"> 
    <Setter Property="Source" Value="c:\asd.jpg" /> 
</Style> 
0

这主要是从内存中,所以有可能是一个小bug,但基本上,你会想放入两张图像,并为它们的不透明度值制作动画:

<Grid> 

    <Image x:Name="imgOne" Source="image1.png"> 
     <Image.Triggers> 
      <EventTrigger RoutedEvent="Image.Loaded"> 
       <BeginStoryboard> 
        <Storyboard> 
         <DoubleAnimation 
          Storyboard.TargetName="imgOne" 
          Storyboard.TargetProperty="(Image.Opacity)" 
          To="0" 
          Duration="0:0:1" 
          AutoReverse="True"         
          RepeatBehavior="Forever" /> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
     </Image.Triggers>  
    </Image> 
    <Image x:Name="imgTwo" Source="image1.png" Opacity="0"> 
     <Image.Triggers> 
      <EventTrigger RoutedEvent="Image.Loaded"> 
       <BeginStoryboard> 
        <Storyboard> 
         <DoubleAnimation 
          Storyboard.TargetName="imgTwo" 
          Storyboard.TargetProperty="(Image.Opacity)" 
          To="1" 
          Duration="0:0:1" 
          AutoReverse="True"         
          RepeatBehavior="Forever" /> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
     </Image.Triggers>  
    </Image> 


</Grid> 

严格地说,您可能不需要第一个动画un少一些第二张图片有一些透明区域或者没有完全覆盖第一张图片。

此外,YMMV - 这将是一个资源的食客,因为它发生得如此之快和经常。