SHOEISHA iD

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

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

現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ComponentOne Studio)

噂のユニバーサルWindowsアプリにComponentOne Chartを使ってみよう

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

ユニバーサルWindowsアプリに適用する

 Windows PhoneストアアプリでComponentOne Studioを使うことに成功したので、いよいよ、ユニバーサルアプリで使えるかチャレンジしてみましょう。

新規プロジェクト作成

 残念なことに、Visual Studio 2013 Update 2では、Visual Basicでのユニバーサルアプリがサポートされていないので、C#でサンプルを作成してみます。

 ユニバーサルアプリでもお勧めのテンプレートは「ハブアプリケーション」になります。

図11 ユニバーサルアプリのテンプレート選択
図11 ユニバーサルアプリのテンプレート選択

 先ほどと同じように不要なページファイルを削除して、SharedにView以外を配置したら、Windowsストアアプリ側とWindows Phoneストアアプリ側のそれぞれにMainPageを追加します。

図12 ソリューション構成
図12 ソリューション構成

参照設定への追加

 Windowsストアアプリ側でもWindows Phoneストアアプリ側でもツールボックスにC1Chartが表示されるので、デザイナーで開いたMainPage.xamlにドラッグ&ドロップし、配置すれば参照設定も完了します。

XAMLへの定義

 WindowsストアアプリとWindows Phoneストアアプリの互換性の高さがすごいのは、ヘッダ部分こそ大きさの相違などがありますが、Gridの2行目に設定するコンテンツ領域に定義するC1Chartの定義は同じXAML定義で良いということです。

リスト2 MainPage.xamlの定義
<Chart:C1Chart x:Name="Chart"  Grid.Row="1" 
        ChartType="Line" Theme="Office2007Blue" Palette="Metro">
    <Chart:C1Chart.Data>
        <Chart:ChartData ItemsSource="{Binding HandData}">
            <Chart:ChartData.Children>
                <Chart:DataSeries Label="X" ValueBinding="{Binding ValueX}"/>
                <Chart:DataSeries Label="Y" ValueBinding="{Binding ValueY}"/>
                <Chart:DataSeries Label="Z" ValueBinding="{Binding ValueZ}"/>
            </Chart:ChartData.Children>
        </Chart:ChartData>
    </Chart:C1Chart.Data>
    <Chart:C1ChartLegend Position="Right" VerticalContentAlignment="Center"/>
</Chart:C1Chart>

エミュレータでの実行確認

 View以外はSharedプロジェクトに配置し両方から同一のコードを参照するようにし、Viewについてもヘッダ部分以外は同一、もちろん、MainPage.xaml.csのコードはすべて一緒という状態でビルドして実行した結果は次のようになります。

図13 実行
図13 実行

 同一のアプリのように2つのデバイスでグラフ表示されています。それぞれWindowsストア、Windows Phoneストアに登録するときに同一名を指定してAppIDを共通化すれば、ユニバーサルWindowsアプリの機構により、購入状態やローミングデータなどを共有できます。つまり、PC、タブレット、スマートフォンでシームレスな利用が可能になります。

まとめ

 WindowsストアアプリとWindows Phoneストアアプリの互換性がうたい文句通りであり、また、ComponentOne Studio for WinRT XAMLの構造がWindows Runtime的な標準準拠性が高ければ「もしかしたら?」という期待から始めましたが、期待以上の結果になったと思いますがいかがだったでしょうか。当然、ツールボックスに出ないといった問題はありますが、根幹にかかわる部分ではないので、ComponentOne StudioでユニバーサルWindowsアプリ対応のコンポーネントが追加されるのも時間の問題かもしれません。

 なお、重ね重ねのお願いですがグレープシティ、マイクロソフトともにこの構成の動作保証をしていませんので、その点だけはご理解ください。

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

  • このエントリーをはてなブックマークに追加
現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ComponentOne Studio)連載記事一覧

もっと読む

この記事の著者

初音玲(ハツネアキラ)

 国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7798 2014/11/07 15:23

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング