Microsoft PowerPoint - hmoriya-REMIX2006-Print-New [互換モード]

Similar documents
WPF Bindingの威力

WPFの初歩の初歩

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

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

XAML Do-It-Yourself 第 3 回ベントとトリガー XML Do-It-Yourself 第 3 回目は ベント処理とトリガーについて学習します Windows フォームゕプリケーションでは たとえば ボタンが押された というベントに対応する処理 ( ベントハンドラー ) を記述する

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

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

わんくま同盟 大阪勉強会 #1

Microsoft PowerPoint - Windows Presentation Foundation (WPF) 3.5 の新機能

新しいイテレーション型開発

Sparkline for WPF

Chart3D for WPF/Silverlight


SharpShooter Reports.WPF 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます

PowerPoint プレゼンテーション

わさわさとWPF

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

MVP for VB が語る C# 入門

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

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

PLEASE READ (hidden slide)

Windows 10 IoT Core MVA 2015 August Windows 10 IoT Core ハンズオントレーニング Building and running Github MS IoT Samples on Windows 10 IoT Core 3 章 UWP アプリの開発 L

untitled

V8.1新規機能紹介記事

Enterprise Architect 12.1 機能ガイド

目次 はじめに インストール方法 インストール前に setup wizard の実行 Arction 製品のコンポーネントの手動インストール デモアプリケーションの実行 デモアプリケーションのイン

intra-mart Accel Platform

テスト 1/7 ページ プレポスト Visual Studio による Windows アプリの開発 ( 基礎編 ) 受講日程受講番号氏名 1.NET Framework に関する記述で 誤っているものを選びなさい 1..NET Framework に含まれる CLR は プログラミング言語に依存し

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

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

グラフィックス 目次

Carousel for WPF/Silverlight

HTTP 404 への対処

MISAO with WPF

Java言語 第1回

sp2-2.indd

グラフィックス 目次

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

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

Visual Studio Do-It-Yourself 第 9 回ユーザーコントロール 第 6 回のリソースから第 8 回のテンプレートで さまざまな方法でコントロールをカスタマズできるこ とを学びました 今回のテーマであるユーザーコントロールは 既存の一つのコントロールをカスタマ ズするのではな

グラフィックス 目次

Oracle Database 11g Release 2 Application Development (.NET)

CA Federation ご紹介資料

システム必要条件 - SAS Add-In 7.1 for Microsoft Office

Microsoft PowerPoint - G-1_Flexでつくる初めてのRIA.ppt

Windows クライアント UX 再考 インフラジスティックス ジャパンデベロッパーエバンジェリスト池原大然 1

Oracle ADF 11g入門

Oracle Policy Automation 10.0システム要件

システム必要条件 - SAS Add-In 8 for Microsoft Office

スライド 1

ADO.NETのアーキテクチャ

グラフィックス 目次

Microsoft PowerPoint - MCATraining_Qualification.pptx

Enterprise Architect 12.0 機能ガイド

スライド タイトルなし

MicrosoftVisualStudio.NET による ASP.NETWeb アプリケーションの開発 (#2334)(MP301)5 日間 () コースの概要 このコースでは VisualBasic.NETまたは C# プログラマで Web 開発の初心者が ASP.NETを使用して Web アプ

Windows クライアント UX 再考

Cosminexus Application Designer操作ガイド

Prog2_4th

第 8 回の内容 クライアントサイド処理 JavaScript の基礎

C#の基本

Infor 10 ERP Enterprise Overview

S2Pradoの紹介


Prog2_12th

Microsoft Word - VB.doc

IBM Rational Software Delivery Platform v7.0 What's

Abstract Kinect for Windows RGB Kinect for Windows v Kinect for Windows v2

JACi400のご紹介~RPGとHTMLで簡単Web化~

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

Visual Studio with Cordova クロスプラットフォーム開発の全貌

SharePoint Server 2013 文書管理 機能概要

PowerPoint プレゼンテーション

Visual Basic Oracle Database 11 Release 1

mazec テクニカルガイド第5版(Android版)

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

Embarcadero Developer Camp

Install / Protect / Monetize InstallShield 全機能 データシート プロフェッショナルなインストールの作成 PREMIER PROFESSIONAL EXPRESS MSIX パッケージ サポート フレームワークをサポート Windows Installer(

PowerPoint プレゼンテーション

XML Consortium 2009/5/8 XML Consortium Enterprise2.0 アプリを支えるクラウド基盤としての Windows Azure XML コンソーシアム Web 2.0 部会 日立ソフト宮崎昭世 Microsoft MVP for Development Pl

マイクロソフト株式会社 デベロッパー & プラットフォーム統括本部 井上大輔 井上章

Prog2_2nd

Visual Studio Do-It-Yourself シリーズ 第 1 回 Windows ゕプリケーション開発の概要 -1-

BarCode for UWP

Prog2_6th

WCF と IIS を使用して OData プロデューサーを作成する

Microsoft Visual Studio 2010 Professional Data Sheet

インストール ダウンロード Ignite UI SR ダウンロード リリースノート ID コンポーネント タイプ 説明 AngularJS Wrappers バグ修正 AngularJS 双方向データバインドでデータソースをグリッドへバインドしている際にデータソースへ項目

DockControl for WPF/Silverlight

Microsoft Word -

ER/Studio Data Architect 2016 の新機能

Prog2_15th

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

PowerPoint プレゼンテーション

Windows Web Windows Windows WinSock

Oracle SQL Developer Data Modeler

グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ

Agileイベント・フレームワークとOracle BPELを使用したPLMワークフローの拡張

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

システム必要条件 - SAS Add-In 7.1 for Microsoft Office

Transcription:

using System; using System.Windows; public class App { [STAThread] public static void Main() { Application app = new Application(); Window win = Window(); win.content = Hello WPF Code ; app.run(win); } } Copyright 2006 Archway Inc. Page 1

<Window xmlns="http://schemas.microsoft.com/ winfx/2006/xaml/presentation" xmlns:x="http://schemas http://schemas.microsoft.com microsoft com /winfx/2006/xaml" > Hello XAML </Window> Copyright 2006 Archway Inc. Page 2

Windows Vista 世代の ユーザインターフェイス ~ 開発編 ~ 株式会社アークウェイ www.archway.co.jp 代表取締役社長.NET コンサルタント森屋英治 (Hideharu Moriya) Microsoft MVP Solutions Architect Copyright 2006 Archway Inc. Page 3

Agenda 次世代 UI 開発 WPFのコンセプト WPF の構成要素 DAL スタイル 開発スタイル アーキテクチャスタイル 言語 (XAML) スタイル 特徴的な機能 スタイル リソース データバインド まとめ Appendix Copyright 2006 Archway Inc. Page 4

Innovation or Commodity Copyright 2006 Archway Inc. Page 5

Enterprise App 20= 2.0= Experience + App Copyright 2006 Archway Inc. Page 6

Copyright 2006 Archway Inc. Page 7

次世代 UI 開発のコンセプト 技術的な統合 ( これまでの様々な技術の統合 ) 2D {GDI, GDI+} UI {User32, WinForm} Media {DirectShow} 3D {Direct3D,OpenGL} ベクトルグラフィック すべてDirect3D 経由でレンダリングされる GPUのフル活用 宣言型プログラミングを可能に XAML(zamel) UI デザインを XML で記述可能に イノベーション エンタープライズアプリケーションの進化 3Dアプリケーションへの挑戦 Copyright 2006 Archway Inc. Page 8

WPF の構成要素 ドキュメントサービス ユーザーインターフェースサービス XPSドキュメント アプリケーションサービス コントロール パッケージングサービス デプロイメントサービス レイアウト データバインディング メディアサービス 基本サービス イメージング 特殊効果 2D 3D テキスト オーディオ ビデオ XAML アクセシビリティ アニメーション 入力およびイベント処理 合成エンジン プロパティシステム Copyright 2006 Archway Inc. Page 9

DAL スタイル D Development Style A Architecture t Style L Language Style Copyright 2006 Archway Inc. Page 10

開発スタイル Copyright 2006 Archway Inc. Page 11

開発スタイル Designer Emotional Connection Look, behavior, data visualization, usability, brand impact Developer Functional Capabilities Deployment, function, data connection and integrity, IT process, security Paper JPG / TIFF MOV / WMV PSD PPT XAML C++ C# VB.NET Copyright 2006 Archway Inc. Page 12

プロジェクトタイプ Windows Application (WPF) XAML Brower Application (WPF) Copyright 2006 Archway Inc. Page 13

アーキテクチャスタイル Copyright 2006 Archway Inc. Page 14

通信用管理Application Architecture For.Net ユーザー ユーザーインターフェイスコンポーネント ユーザーインターフェイスプロセスコンポーネントユーザーインターフェイスコンポーネント運サービスインターフェイスフェイス通ビジネス ビジネス ビジネス ワークフロー コンポーネント エンティティ データアクセスロジックコンポーネント サービスエージェント データソースサービス Copyright 2006 Archway Inc. Page 15

通信Application Architecture For.Net With WPF ユーザー DTO データ転送オブジェクト 運用管理DataSet DataTable カスタムオブジェクト XML ユーザーインターフェイスコンポーネント Application(WPF) WindowsApplication XAMLBrowserApplication(WPF) ユーザーインターフェイスプロセスコンポーネント サービスインターフェイス ビジネス ビジネス ビジネス ワークフロー コンポーネント エンティティ データアクセスロジックコンポーネント サービスエージェント データソースサービス Copyright 2006 Archway Inc. Page 16

アーキテクチャの要素 アーキテクチャの決定は まず必要な要素 ( 関心 ) を選択する 非機能要件のトレードオフ パフォーマンス セキュリティ 配置条件 要素が多ければ多いほど開発コストは増大し 配置 運用コストも増大する 対象となる開発で必要な分だけの要素を選択する ユーザインターフェイスイ データアクセス シンプルなアーキテクチャを採用 Copyright 2006 Archway Inc. Page 17

アーキテクチャの傾向と対策 エンタープライズアプリケーションは ほとんどデータベースからの情報取得 更新 データバインド可能なオブジェクトの選択 データストアからの取り出しの容易性 データセット データテーブル 注意点 : なるべく分散させない 分散トランザクション 分散オブジェクト 本当に必要なときのみ Copyright 2006 Archway Inc. Page 18

言語 (XAML) スタイル Copyright 2006 Archway Inc. Page 19

WPF 開発言語.NET に対応している言語すべて C# VB.NET IronPython そして XAML(eXtensible Application Markup Language) Copyright 2006 Archway Inc. Page 20

XAML XAML( extensible Application Markup Language) HTML の開発体験を WinForm に! 言語としての XAML コンパイルされて動作 言語の範囲は マークアップの範囲に依存し すべて対応しているわけではない パーシャルクラスの理解 WF (Workflow Foundation) にも適用されている Copyright 2006 Archway Inc. Page 21

Design <XAML> Code Copyright 2006 Archway Inc. Page 22

XAML & C#Code <Button Foreground= Green FontSize= 20pt > XAML Button </Button> Button button = new Button(); Button.Foreground = Brushes.Green; Button.FontSize = 20; Button.Content = Code Button ; Copyright 2006 Archway Inc. Page 23

System.Windows.Control 様々な UI コントロール Copyright 2006 Archway Inc. Page 24

Copyright 2006 Archway Inc. Page 25

スタイル Copyright 2006 Archway Inc. Page 26

スタイル 概念は HTMLのスタイルシートと同様だが WPFにおける スタイル は リソース スタイル テンプレート トリガ ストーリボードを統合するトリボ広い概念の用語 リソースに配置して利用 <Style > <Setter /> <EventSetter /> </Style> Copyright 2006 Archway Inc. Page 27

スタイルの設定 Copyright 2006 Archway Inc. Page 28

トリガーの利用 Copyright 2006 Archway Inc. Page 29

複数コントロールへの適用 Copyright 2006 Archway Inc. Page 30

リソース Copyright 2006 Archway Inc. Page 31

リソース ローカルで利用するリソース Visual Studioで一般的に使われるリソースと若干異なる ResourceDictionaryを型とするキーとオブジェクトからなるリソースディクショナリ XAMLでは すべての要素 Applicationなどに配置可能 ResouceDictionary を XAML として別ファイルに分離することも可能 Copyright 2006 Archway Inc. Page 32

Application リソースの利用 App.xaml Window1.xaml 様々な要素 Window,Panel,Control Application にリソースを配置できる Copyright 2006 Archway Inc. Page 33

リソースディクショナリの作成 Styles.xaml Copyright 2006 Archway Inc. Page 34

リソースディクショナリの参照 Copyright 2006 Archway Inc. Page 35

データバインド Copyright 2006 Archway Inc. Page 36

単純なバインド XAML Code Binding bind = new Binding(); bind.source = bar; bind.path = new PropertyPath(ScrollBar.ValueProperty); label.setbinding(label.contentproperty, bind); Copyright 2006 Archway Inc. Page 37

Binding Mode <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <Canvas> <TextBox Name="theTextBox" Text="Hello" /> <TextBox Canvas.Top="25" Text="{Binding ElementName=theTextBox, Path=Text, Mode=TwoWay}" /> </Canvas> </Window> バインディングモード TwoWay 説明 バインド先のコントロールまたはバインドのソースからの変更を 双方向でもう一方に移動する ( これが既定モード ) OneWay ソースからの変更だけをスからの変更だけを コントロールに移動します ソースで変更が発生するとスで変更が発生すると バインド先のコントロールのデータが変更される OneTime 起動時にのみデータがバインドされ コントロールに初めてデータが書き込まれた後は ソースの変更は無視される Copyright 2006 Archway Inc. Page 38

バインドのタイミングの制御 バインドによって変更がプッシュされるタイミングも指定できる UpdateSourceTrigger タイプを指定することにより バインドが特定のタイミングでしか変更を行わないように指定できる UpdateSourceTrigger プロパティは ソースを変更によって更新するタイミングを指定する Mode=TwoWayのバインド ( 既定 ) と併用する場合にのみ有効 {Binding ElementName=theTextBox, Path=Text, UpdateSourceTrigger=LostFocus} UpdateSourceTrigger Explicit LostFocus 説明 BindingExpression.UpdateSource メソッドを明示的に呼び出した場合のみ ソースソースが更新される バインドされたコントロールがフォーカスを失ったとき ソースが更新される PropertyChanged プロパティが変更されるたびに 変更がソースに更新されます 変更がソこれが既定の動作 Copyright 2006 Archway Inc. Page 39

XAML のデータバインド ほとんどのアプリケーションでは XMLやオブジェクト データーセットなどにバインドしている これまでの.NETのデータバインドでは バインディングの形態が限定されていて完全なオブジェクトとの連携や拡張が困難だった WPFでは上記の問題にチャレンジしている 現在対応しているデータプロバイダ XmlDataProvider XML とのバインド ObjectDataProvider.NET オブジェクトとのバインド Copyright 2006 Archway Inc. Page 40

XMLDataProvider <StackPanel> <StackPanel.Resources> <XmlDataProvider x:key="favoritecolors"> <x:xdata> <Colors xmlns=""> <Color>Blue</Color> <Color>Black</Color> </Colors> </x:xdata> </XmlDataProvider> </StackPanel.Resources> <TextBlock HorizontalAlignment="Center FontWeight="Bold"> XML Example </TextBlock> <ListBox Width="200" Height="300" ItemsSource="{Binding Source={StaticResource FavoriteColors}, XPath=/Colors/Color}"></ListBox> l /Li tb </StackPanel> Copyright 2006 Archway Inc. Page 41

XMLDataProvider RSS とのバインド URL あるいは ファイルパスも可 Copyright 2006 Archway Inc. Page 42

DetaContext/DataTemplate DetaContext を利用すると Source を設定する必要がなくなる Copyright 2006 Archway Inc. Page 43

RSS リーダ Copyright 2006 Archway Inc. Page 44

ObjectDataProvider Copyright 2006 Archway Inc. Page 45

ObjectDataProvider Window.xaml.cs Copyright 2006 Archway Inc. Page 46

まとめ コンセプト WPF 構成要素 DAL スタイル 開発スタイル アーキテクチャ 言語 (XAML) 特徴的な機能 スタイル リソース データバインド Copyright 2006 Archway Inc. Page 47

Innovation or Commodity Copyright 2006 Archway Inc. Page 48

Copyright 2006 Archway Inc. Page 49

ご静聴ありがとうございました 株式会社アークウェイ森屋英治 Copyright 2006 Archway Inc. Page 50

Appendix Copyright 2006 Archway Inc. Page 51

XAML 省略した表記 <Canvas> <TextBox Name="theTextBox" Text="This is TextBox" /> <TextBlock Canvas.Top="25" Text="{Binding ElementName=theTextBox,Path=Text} /> </Canvas> Elementを {} の中に属性 値を, でつなげていく省略した表記 先ほどの表記 <Canvas> <TextBox Name="theTextBox" Text="This is TextBox" /> <TextBlock Canvas.Top= Top="25"> <TextBlock.Text> <Binding ElementName="theTextBox" Path="Text" /> </TextBlock.Text> T t </TextBlock> </Canvas> Copyright 2006 Archway Inc. Page 52