SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)

画像をスライド表示するWPFアプリケーションの作成

ComponentOne Studioを活用したWindowsフォームアプリケーションの作成

  • X ポスト
  • このエントリーをはてなブックマークに追加

C1Tileコントロールの概要

 C1Tile、C1SlideTileコントロールの概要については、前回の記事「コンテンツをスライド表示するWPFアプリケーションの作成」を参照してください。

 今回は前回と同じテクニックを用いて、ContentTemplate/BackContentTemplateプロパティ内にImageコントロールを配置し画像を表示します。

 さらに、画像をクリックすると別ウィンドウで拡大表示する機能を追加します。

GUIの作成

 では、さっそくアプリケーションを作成していきます。

 今回作成するアプリケーションは、C1TileコントロールとC1SlideTileコントロールを1つずつ使用し、画像を入れ替える表示を行うために、Imageコントロールを使用します。

 使用するコントロールは、C1TileC1SlideTileImageTextBlockの4種類のコントロールです。

フォームのレイアウト
フォームのレイアウト

C1Tileコントロールの作成

 最初に、C1Tileコントロールの配置を行います。

 まずは、記事冒頭で紹介しているように、C1.WPF.4/C1.WPF.Tile.4への参照を設定してください。

 ① ツールボックスからC1Tileコントロールをウィンドウにドラッグ&ドロップします。

 ② XAMLの画面に移り、XAMLを修正します。まず、Contentプロパティの値が「"{x:Null}"」と設定されていますので、これをContent="この文字"に変更します。

 また、次のプロパティを設定します。

プロパティ 設定値
HorizontalContentAlignment Stretch
VerticalContentAlignment Stretch
Padding 0
<Grid Height="190" Width="880">
    <c1:C1Tile c1:C1TileService.PointerDownAnimation="True" Content="この文字" Height="150" HorizontalAlignment="Left" 
               Margin="12,12,0,0" Name="c1Tile1" VerticalAlignment="Top" Width="230" 
               FontSize="16" Background="White" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" 
               Padding="0">    
        </c1:C1Tile>
</Grid>

 ③ ContentTemplate/BackContentTemplateプロパティを作成し、TextBlockコントロールで文字列が切り替わるアニメーションを作成します。

<c1:C1Tile.ContentTemplate>
    <DataTemplate>
        <Border Background="BurlyWood" >
            <TextBlock Text="フォトギャラリー" VerticalAlignment="Center" HorizontalAlignment="Center" />
        </Border>
    </DataTemplate>
</c1:C1Tile.ContentTemplate>
<c1:C1Tile.BackContentTemplate>
    <DataTemplate>
        <Border Background="DarkSeaGreen" >
            <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
                <TextBlock Text="画像をクリックすると" Foreground="White" HorizontalAlignment="Center"/>
                <TextBlock Text="拡大表示します" Foreground="White" HorizontalAlignment="Center"/>
            </StackPanel>
        </Border>
    </DataTemplate>
</c1:C1Tile.BackContentTemplate>

C1SlideTileコントロールの作成

 次に、C1SlideTileコントロールを作成します。このコントロールには、ContentTemplate/BackContentTemplateプロパティ内にグリッドを用いて、Imageコントロールを3つずつ配置します。

 ① ツールボックスからC1SlideTileコントロールをグリッド内にドラッグ&ドロップします。

 ここでも、Contentプロパティは「"{x:Null}"」とnullになっていますので、プロパティ値を「"イメージギャラリー"」に変更します。

 この値を設定しておかないと、アニメーションは正常に動作しません。

Content="イメージギャラリー"

 また、C1Tileコントロールと同様に次のプロパティを設定します。

プロパティ 設定値
HorizontalContentAlignment Stretch
VerticalContentAlignment Stretch
Padding 0
<c1:C1SlideTile c1:C1TileService.PointerDownAnimation="True" Content="イメージギャラリー" Height="150" HorizontalAlignment="Left" 
                Margin="252,12,0,0" Name="c1SlideTile1" VerticalAlignment="Top" Width="600" HorizontalContentAlignment="Stretch"
                VerticalContentAlignment="Stretch" Padding="0" >
</c1:C1SlideTile>

次のページ

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7463 2013/10/30 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング