1

ここに私のXAMLがあります:

<Setter Property="Template">
  <Setter.Value>
    <ControlTemplate>
      <Image x:Name="Expander_Normal"
             Source="/Images/arrow-e.tiff" Width="13" Height="13" />
      <ControlTemplate.Triggers>
        <Trigger Property="ToggleButton.IsChecked" Value="True">
          <Setter x:Name="Expander_Expanded"
                  TargetName="Expander_Normal" Property="Source"
                  Value="/Images/arrow-s.tiff" />
        </Trigger>
      </ControlTemplate.Triggers>
    </ControlTemplate>
  </Setter.Value>
</Setter>

画像から別の画像への移行は非常にラフで、あまり好きではありません。では、どうすればトランジションをスムーズに行うことができますか。
更新:
画像を変更する代わりに、画像を回転させてください。メイン画像は>のようです。たぶんそれを下に回転させます(時計回りに90度)

4

2 に答える 2

2

あなたが空想に行きたいなら、あなたはすることができます:

  1. ストーリーボードを追加する
  2. 不透明度のダブルアニメーションを使用して、画像ボックスをフェードアウトします
  3. 画像を変更する
  4. 別のダブルアニメーションを使用して、画像ボックスでフェードインします

アップデート

画像を回転するには:

  1. 画像に回転変換を追加します
  2. 回転変換の角度プロパティでダブルアニメーションを使用する

例については、http://www.vbforums.com/showthread.php?t=555120を参照してください。

于 2010-02-06T01:33:28.843 に答える
0

これを試して:

<Grid>
    <Image Source="Image1.png"
           Height="100" Width="100">
        <Image.Triggers>
            <EventTrigger RoutedEvent="MouseEnter">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            BeginTime="0:0:0"
                            Duration="0:0:0.5"
                            From="1"
                            To="0"
                            Storyboard.TargetProperty="(Image.Opacity)"
                            />
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
            <EventTrigger RoutedEvent="MouseLeave">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            BeginTime="0:0:0"
                            Duration="0:0:0.8"
                            From="0"
                            To="1"
                            Storyboard.TargetProperty="(Image.Opacity)"/>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Image.Triggers>
    </Image>
    <Image Source="Image2.png"
           Height="100" Width="100" Opacity="0">
        <Image.Triggers>
            <EventTrigger RoutedEvent="MouseEnter">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            BeginTime="0:0:0"
                            Duration="0:0:0.5"
                            From="0"
                            To="1"
                            Storyboard.TargetProperty="(Image.Opacity)"
                            />
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
            <EventTrigger RoutedEvent="MouseLeave">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            BeginTime="0:0:0"
                            Duration="0:0:0.8"
                            From="1"
                            To="0"
                            Storyboard.TargetProperty="(Image.Opacity)"/>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Image.Triggers>
    </Image>
</Grid>
于 2016-08-03T01:24:19.603 に答える