読者です 読者をやめる 読者になる 読者になる

OpacityMask に ImageBrush

実行イメージとソース

こんな画像(grow.png)を用意して、

こうすると、

<Grid x:Name="LayoutRoot" Background="White">
  <Rectangle x:Name="rectangle" Width="200" Height="200">
    <Rectangle.Triggers>
      <EventTrigger RoutedEvent="Rectangle.Loaded">
        <BeginStoryboard>
          <Storyboard>
            <ColorAnimation 
          Storyboard.TargetName="brush" Storyboard.TargetProperty="Color"
          AutoReverse="True"
          RepeatBehavior="Forever"
          From="Green" To="Yellow" Duration="0:0:5" />
          </Storyboard>
        </BeginStoryboard>
      </EventTrigger>
    </Rectangle.Triggers>
    <Rectangle.Fill>
      <SolidColorBrush Color="Green" x:Name="brush" />
    </Rectangle.Fill>
    <Rectangle.OpacityMask>
      <ImageBrush ImageSource="/grow.png" />
    </Rectangle.OpacityMask>
  </Rectangle>
</Grid>

こうなる。

ちなみに画像の黒いところ以外は透過色です。

実行イメージとソース