0

マウスオーバーするとズームインする画像を動的に作成しようとしています。このブログ投稿http://tozon.info/blog/post/2007/10/14/Three-ways-to-make-your-WPF-images-pop-out-on-MouseOver.aspxを見つけました。ストーリーボードを使用してこれを行います。

これは非常に簡単に見えます。StoryBoard xaml を App.xaml に追加しました。

次に、C# でビルドしたイメージにそれらを追加する方法を考える必要があります。

作成する必要があるxamlは次のようになります

<Image Source="[Bitmap]" >
    <Image.Triggers>
        <EventTrigger RoutedEvent="Image.MouseEnter" >
            <BeginStoryboard Storyboard="{StaticResource ExpandStoryboard}" />
        </EventTrigger>
        <EventTrigger RoutedEvent="Image.MouseLeave" >
            <BeginStoryboard Storyboard="{StaticResource ShrinkStoryboard}" />
        </EventTrigger>
    </Image.Triggers>
    <Image.RenderTransform>
        <ScaleTransform ScaleX="1" ScaleY="1" />
    </Image.RenderTransform>
</Image>

Image、Storyboards、および RenderTransform を C# で作成しました (と思います) が、ストーリーボードを EventTriggers として追加する方法がわかりません。

System.Windows.Controls.Image _Image = new System.Windows.Controls.Image();
_Image.Source = this.BitmapToBitmapImage(_Bitmap); // This bit is not really relevant for this question. It works fine though.

ScaleTransform _OriginalScale = new ScaleTransform();
_OriginalScale.ScaleX = 1;
_OriginalScale.ScaleY = 1;

_Image.RenderTransform = _OriginalScale;

Storyboard _ExpandStory = (Storyboard)Application.Current.FindResource("ExpandStoryboard");
Storyboard _ShrinkStory = (Storyboard)Application.Current.FindResource("ShrinkStoryboard");

_Image.Triggers.Add(WHAT GOES HERE);
4

1 に答える 1