[WPF]thinkpixellab / bot のトラジションを使用する


thinkpixellab の bot(BAG of Tricks)はWPF/SilverLight用のライブラリ集です。
ここではコントロールに適用できるトラジションの使用方法を説明します。
サンプルコード:SampleBOTTrasion.zip
1.)thinkpixellab / bot を入手する
github「https://github.com/thinkpixellab/bot」からソースコードを入手します。
2.)ライブラリをビルドする
ダウンロードしたソースコードからBOT.slnを選択してVisualStdioを起動します。
ソリューションエクスプローラの「Windows Presentation Foundation」を選択してビルドします。
3.)BOTを使用するプロジェクトを作成します。
4.)プロジェクトの参照設定にBOTのライブラリを追加します。
 2.)で生成されたDLLの「PixelLab.Core.dll」と「PixelLab.Wpf.dll」を追加します。
5.)XAMLにBOTの名前空間を追加します。

<Window x:Class="Study_013_BOT.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:lib="clr-namespace:PixelLab.Wpf.Transitions"
Title="MainWindow" Height="350" Width="525">

6.)XAMLにトラジションの設定をリソースに追加します。
以下の例はBOTのFadeWipe2トラジションを使用しています。

<Window.Resources>
<!-- ストーリーボードトラジションの設定 -->
<lib:StoryboardTransition x:Key="FadeWipe2">
<lib:StoryboardTransition.NewContentStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.7"/>
</Storyboard>
</lib:StoryboardTransition.NewContentStoryboard>
</lib:StoryboardTransition>
</Window.Resources>

7.)C#ソースコードにBOTの名前空間を追加します。

using PixelLab.Wpf.Transitions;

8.)C#ソースコードにトラジションの設定を追加します。

//トラジションを設定する
_trasition.Transition = (Transition)FindResource("FadeWipe2");
//トラジション領域にコンテンツを設定する
_trasition.Content = image1;

9.)コンテンツの変更(トラジションの変更)を行う箇所を記載します。

if (_trasition.Content == image1)
_trasition.Content = image2;
else
_trasition.Content = image1;

以上の方法でBOT内の多彩なトラジションをコンテンツ単位に適用することができます。

0 件のコメント :

コメントを投稿