XAML の勉強上要! WPF アプリケーションは作れます

Similar documents
WPF Bindingの威力

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

C#の基本

XAML Do-It-Yourself シリーズ 第 7 回テンプレート -1-

Microsoft Word - VB.doc

Silverlight を使用したデータアプリケーション開発手順

Autodesk Revit Structure 2014

XAML Do-It-Yourself シリーズ 第 1 回 XAML 概要 -1-

UMLプロファイル 機能ガイド

2007 Microsoft Corporation. All rights reserved. 本書に記載した情報は 本書各項目に関する発行日現在の Microsoft の見解を表明するものです Microsoft は絶えず変化する市場に対応しなければならないため ここに記載した情報に対していかな

PowerPoint プレゼンテーション

XAML Do-It-Yourself シリーズ 第 8 回ゕニメーション -1-

グラフィックス 目次

目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発... 7 手順 1. アプリケーションの作成... 7 手順 2. データソースの作成と代入... 7 手順 3. テンプレートの作成 手順 4. レポートビューアの追加

DEMO1 まずはやってみよう アクティビティをダブルクリック 作成 - プロジェクト C# => Workflow CodeActivity をぽとぺ シーケンシャルと ステートマシン それぞれのコ ンソールアプリ あとライブラリがある びっくりマークは足りていないあかし プロパティをみると判別で

Chart3D for WPF/Silverlight

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

PowerPoint プレゼンテーション

MVP for VB が語る C# 入門

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

WPF アプリケーションの 多言語切替

内容 1 はじめに インストールの手順 起動の手順 Enterprise Architect のプロジェクトファイルを開く 内容を参照する プロジェクトブラウザを利用する ダイアグラムを開く 便利な機能.

Microsoft Word - 205MSPowerpoint2010

目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23

Enterprise Architect 12.1 機能ガイド

Enterprise Architect 12.0 機能ガイド

OTRS10 他社システムOTRS呼出利用手順書

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

HOW DO I WebBrowser コントロールで HTML5 を 使用するには ここでは以下の手順で説明します Video 要素を使用する Silverlight と JavaScript の間でやり取りする Canvas 要素を使用する Video 要素を使用する 1. Visual Stu

第 13 講データ管理 2 2 / 14 ページ 13-1 ファイルを開く 第 12 講で保存したデータベースファイル サークル名簿.accdb を開きましょう 1. Access を起動します 2. Microsoft Office Access - 作業の開始 が表示されていることを確認します

手順 1:Razer Nostromo をお使いのコンピュータの USB ポートに差し込みます 手順 2: ドラバのンストーラを からダウンロードします 手順 3: ンストーラプログラムを実行します 手順 4: セットゕップに使用する言語を選択します [OK

Excel2013 ピボットテーブルを使った分析

PowerPoint2007基礎編

テキストファイルの入出力1

PowerPoint2003基礎編

モデリング操作ガイド (データベースモデリング編)

目次 1. アニメーションの仕組み 3 2. ワードアートでムービーのタイトルを作成 7 3. まとめ 課題にチャレンジ 19 [ アニメーション ] 機能 PowerPoint に搭載されている [ アニメーション ] 機能を使用すると 文字や図形にアニメーション ( さまざまな動きや

intra-mart Accel Platform

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

(Microsoft Word - Word\216\300\217K\212\356\221b1.doc)

Microsoft SQL Server 2016 インストール手順書 (Standard) この文書は SQL Server 2016 のインストール手順について簡潔にまとめたもので Microsoft SQL Server 2016 Books Online に記述されている一部を抜粋した内容で

マクロの実行許可設定をする方法 Excel2010 で 2010 でマクロを有効にする方法について説明します 参考 URL:

2 / 25 複数ソフトの組み合わせ テキストファイルを Excel で開く テキスト形式 (.txt) で保存したファイルを Excel で利用しましょう 第 14 講で保存した west.txt を Excel で開きます 1. Excel を起動します 2. [Office ボタ

やってみようINFINITY-WingFan 編-

Word2007 Windows7 1 パンジーを描こう 暮らしのパソコンいろは 早稲田公民館 ICT サポートボランティア

INFRAGISTICS WPF 18.1 サービスリリースノート 2019 年 4 月 Infragistics WPF で実現する高度な BI ときれいなデスクトップ UI Infragistics WPF コントロールは 広範な機能を提供し 最小限の開発工数でアプリケーションの作成を可能にしま

Team Foundation Server 2018 を使用したバージョン管理 補足資料

Infragistics Ultimate  インストール手順書

Citrix Receiver導入の手引き

< 目次 > 1. プロジェクト作成 1 2. 環境設定 2 3. 帳票レイアウト作成 3 (1) ページサイズの設定 (2) プレ印刷 / 背景画像の設定 (3) 印字項目の配置 (4) プレビュー表示 4. 可変データ定義 7 (1) 入力ファイル設定 (2) 入力フィールド設定 (3) 変換フ

MxLogonサーバサイドツールキット用UI

やってみようINFINITY-写真管理 編-

目 次 タイトルの作成... 1 新しいスライドを作成... 1 画像の挿入... 2 テキストボックスの挿入... 4 練習問題 表の挿入... 7 グラフの挿入... 8 図形の挿入... 9 テーマの設定 アニメーションの設定 グラフの系列別のアニメーショ

第1章 ビジュアルプログラミング入門

Create!Form V11 - Excel 出力設定

目 次 押印ツールによる電子印鑑の押印 Word 編 1 枠内に押印する 3 2 社名の上に重ねて 角印 を押印する 5 3 クリップボード経由で押印する 9 4 印影の角度を変える 13 押印ツールによる電子印鑑の押印 Excel 編 1 ドラッグ & ドロップで押印する 14 2 クリップボード

WPF アプリケーションの 多言語切替

Transcription:

ゕジェンダ 自己紹介 はじめに 簡単なゕプリケーションを作ってみる Binding 概要 Linq to SQL とのバンデゖング ゕニメーション 3D グラフゖック まとめ

自己紹介 福井県越前市 ( 武生市 ) 出身 東京都杉並区在住 ソフトウェゕ業務歴 28 年 フリ- 技術者歴 20 年以上 でも 永遠の28 歳 4Bitワンチップからワークステーションまでのソフトを開発 開発言語も多種多様 最近はSQLサーバー + Windows Forms や WPFの Visual C# ソフト開発が多い Microsoft MVP for Development Tools Visual C# を4 年連続で受賞 INETAJ 理事 INETAJ スピーカビューロー登録 わんくま同盟他でスピーカ経験多数

はじめに WPF や Silver Light の解説やデモを見て興味を持った方も多いと思います しかし XAML を見て 大変そうだなってしり込みしている人も多いと聞きます そこで Expression Blend と Visual Studio のコラボレーションで XAML を書かないで WPF ゕプリケーションの開発が行えることを見てほしいと思います

簡単なゕプリケーションを作ってみる まず Expression Blend を起動して新しいプロジェクトを作成します Visual C# と Visual Basic が選択可能です

簡単なゕプリケーションを作ってみる こんな画面が表示されます

簡単なゕプリケーションを作ってみる こんなコントロールがあります

簡単なゕプリケーションを作ってみる 資産ラブラリにもコントロールはあります

簡単なゕプリケーションを作ってみる コントロールを配置します

簡単なゕプリケーションを作ってみる プロパテゖを修正します 修正した ( された ) プロパティは白丸が付きます 修正内容は右クリックメニューでリセット可能です ( もちろん UNDOも可能 )

簡単なゕプリケーションを作ってみる ベントを作成します ここでプロパティとイベントを切り替えます 空白状態からダブルクリックで自動的に作成されます

簡単なゕプリケーションを作ってみる Visual Studio が起動します 自動的に Visual Studio が起動されて作成されたイベントが表示されます

簡単なゕプリケーションを作ってみる こんな風に Expression Blend でコントロールを配置していってプロパテゖを変更して画面を作成します ベント処理は Visual Studio でプログラムを作成していきます 簡単な画面はこのようにして作成できます Expression Blend と Visual Studio の切り替え時には必ず保存してください 切り替えたときに変更があったことを自動的に認識して再読み込みのダゕログが出て再読み込みします

DEMO

Binding の概要 Windows Presentation Foundation (WPF) データバンデゖングは ゕプリケーションがデータを提供し UI と結びつけることで 柔軟な UI 表現 ビジネスロジックと UI の明確な分離を実現します データフローの方向やソースの更新の要因を選択でき 表示のためのデータ変換や格納時のデータの検証を行えます

Binding の概要 Binding オブジェクトでコントロールのプロパテゖとデータソースのプロパテゖを結びつけます TextBlock MyDataSource (Person クラス ) Text プロパティ Binding オブジェクト PersonName プロパティ

Binding の概要 データの方向を決めることができます ターゲット Binding オブジェクト BindingMode プロパティ OneTime ソース Dependency Property OneWay TwoWay OneWayToSource Property BindingMode で Default はテキストボックスやチェックボックスなど編集可能な場合は TwoWay それ以外のほとんどのプロパティは OneWay

Binding の概要 ターゲットのコントロールのプロパテゖの更新タミングを設定できます ターゲット Dependency Property Binding オブジェクト BindingMode プロパティ OneTime OneWay TwoWay ソース Property OneTime はアプリケーションの起動時またはデータコンテキストの変更時 OneWay TwoWay はプロパティ変更時

Binding の概要 ソースのプロパテゖの更新タミングを設定できます ターゲット Binding オブジェクト BindingMode プロパティ ソース Dependency Property TwoWay OneWayToSource Property Binding.UpdateSourceTrigger プロパティ PropertyChanged の場合ターゲットプロパティ変更時 LostFocus の場合ターゲットがフォーカスを失った時 Explicit の場合アプリケーションが UpdateSource を呼び出した時

Binding の概要 DataContext や ItemsSource で扱うデータを まとめて設定できます 顧客 ListView. ItemsSource ( 親要素 ) TextBlock.Text プロパティ TextBlock.Text プロパティ TextBlock.Text プロパティ TextBlock.Text プロパティ TextBlock.Text プロパティ TextBlock.Text プロパティ 代入 Binding オブジェクト Binding オブジェクト Binding オブジェクト Binding オブジェクト Binding オブジェクト Binding オブジェクト 顧客クラスインスタンス ID プロパティふりがなプロパティ氏名プロパティ誕生日プロパティ都道府県 ID プロパティ郵便番号プロパティ

Binding の概要 Expression Blend のデータソース XML データソース XML 形式のデータを提供できるローカルまたはリモートの XML フゔル 共通言語ランタム (CLR) オブジェクトデータソース ObservableCollection クラスが提供 IEnumerable ンターフェスと INotifyCollectionChanged ンターフェスと INotifyPropertyChanged ンターフェスを実装したクラス Linq to SQL データ

Binding の概要 WPF のデータソース Expression Blend のデータソースの 2 つ ADO.NET データ ADO.NET DataView は IBindingList を実装し バンデゖングエンジンがリッスンする変更通知を提供 DependencyObject WPF のコントロールは全て DependencyObject 任意の DependencyObject の依存関係プロパテゖにバンド コントロールのプロパテゖ間のバンデゖングに主に使用 Blend ではプロパテゖウゖンドウからデータバンドで設定可能

Linq to SQL とのバンデゖング Visual Studio で WPF ゕプリケーションを作成 WPF アプリケーション.NET Framework 3.5

Linq to SQL とのバンデゖング プロジェクトに LINQ to SQL クラス追加 LINQ to SQL クラス

Linq to SQL とのバンデゖング データ接続からテーブルをドラッグ テーブルをここにドラッグ

Linq to SQL とのバンデゖング データコンテキストが自動生成 リビルドして反映させます

Linq to SQL とのバンデゖング Expression Blend で同じプロジェクトを読み込みます ListBox を追加して listbox1 と名前を付けておきます Blend に作成した LINQ to SQL クラスを追加するには データ +CLR オブジェクトをクリックします データ +CLR オブジェクト

Linq to SQL とのバンデゖング ListBox に表示したいテーブルを選択して CLR オブジェクトデータソースを作ります LinqToSQL アセンブリの LinqToSQL 名前空間の Orders クラス

Linq to SQL とのバンデゖング ここでは複数の項目をまとめてバンドする為データソースのクラスを選択し DataTemplate の定義を押します CustomerDS データソース Customers クラス バインドの方向ソースの更新タイミング規定値 値コンバータを指定できます

Linq to SQL とのバンデゖング 表示したい項目を選ぶと自動的にデータテンプレートを作成します CompanyName ContactName を表示させます

WPF アプリケーション public partial class Window1 : Window { private DataClasses1DataContext datacontext = new DataClasses1DataContext(); public Window1() { InitializeComponent(); this.listbox1.itemssource = datacontext.customers; } } ItemSource に Customers を設定します ローカルに DataContext を用意します

Binding クラスのプロパテゖと UI のプロパテゖを Binding オブジェクトで結びつければ データバンデゖングできます クラスのンスタンスを UI の DataContext や ItemSource に設定して クラスのプロパテゖ名と UI のプロパテゖ名を結びつければ データバンデゖングできます ListBox や ListView などは DataTemplate でデータの表示を設定できます

DEMO

ゕニメーション UI のプロパテゖを時間に合わせて変更していけば UI は簡単なゕニメーションをしているように見えます Expression Blend では タムラン上にキーフレームを作成しプロパテゖを変更することで キーフレーム間の時間に指定されたプロパテゖ値を補間して なめらかなゕニメーションにしてくれます ゕニメーションの開始や終了はトリガのベントで指定します

ゕニメーション マウスをかざすと大きくなるボタンを作ってみましょう 新しいプロジェクトを作成しボタンを配置します ボタンを配置します 10x10 の大きさにします

ゕニメーション マウスがボタンの描画領域に入ったときに発生するベントは MouseEnter です トリガにボタンの MouseEnter ベントを作成します + イベントをクリックしてイベントを追加します ボタンを選択します MouseEnter イベントを選択します

ゕニメーション MouseEnter ベント発生時に実行するタムランを割り当てます + をクリックしてタイムラインを割り当てます タイムラインが存在しないので新規で自動作成されます

ゕニメーション タムランが表示され記録オンの状態になります 注 ) このハードコピーは作業中の画面です

ゕニメーション MouseEnter ベント発生で 1 秒後にボタンサズを指定します ボタンを選択します タイムライン再生ヘッドを 1 秒の位置にします

ゕニメーション MouseEnter ベント発生で 1 秒後にボタンサズを既定の 10 から 128 にします Width Height を 128 にします キーフレーム ( 白丸 ) が作成されます

ゕニメーション MouseLeave ベント発生でタムランを停止しボタンの大きさを規定値 (10x10) にします +イベントをクリックしてイベントを追加します ボタンを選択します MouseLeave イベントを選択します タイムラインを選択します タイムライン停止を選択します

ゕニメーション マウスをかざしたりはなしたりするとボタンの大きさが変わります マウスをかざすと 徐々に大きくなり 1 秒後にこの大きさに マウスをはなすと元通り

3D グラフゖック 3D グラフゖックは XAML 形式や Wave front 3D 形式が読み込めます プロジェクトを選択します 既存のアイテムを追加を選択します

3D グラフゖック Wavefront 3D(obj) や Wavefront 素材 (mtl)

3D グラフゖック プロジェクトの obj フゔルをダブルクリックすると ViewPort3D カメラ 環境光 指向性ラトが自動的に作成されます 読み込まれた 3D グラフィックが表示されます ViewPort3D オブジェクトが追加されます

DEMO

まとめ Expression Blend と Visual Studio のコラボレーションで XAML を書かないで WPF ゕプリケーションの開発が行えます バンデゖングを使えばデータと UI を分離でき 表示のためのデータ変換や格納時のデータの検証を行えます ゕニメーションを作成すれば Expression Blend で多種多様な視覚効果を追加できます 3D オブジェクトも XAML 形式や Wave front 3D 形式から読み込めゕニメーションもできます

Resources.Net ユーザーエクスペリエンス研究所 http://mnow.jp/ わんくま同盟 http://www.wankuma.com/ INETA JAPAN http://www.ineta.jp/ Microsoft Community Ring ホーム http://www.microsoft.com/japan/powerpro/community/ Microsoft Expression http://www.microsoft.com/japan/products/expression/default.mspx Microsoft Visual Studio http://www.microsoft.com/japan/msdn/vstudio/ Microsoft MSDN http://msdn2.microsoft.com/ja-jp/library/bb546194.aspx http://msdn2.microsoft.com/ja-jp/library/ms754130.aspx http://msdn2.microsoft.com/ja-jp/library/ms753307.aspx http://msdn2.microsoft.com/ja-jp/library/ms771633.aspx http://msdn2.microsoft.com/ja-jp/library/ms747122.aspx