狠狠撸
Submit Search
XAML & XAML
?
Download as PPTX, PDF
?
4 likes
?
6,138 views
Y
yone64
Follow
room metro #28 (2014/11/29) めとべや
Read less
Read more
1 of 16
Download now
Download to read offline
More Related Content
XAML & XAML
1.
XAML & XAML
~ デザイナーリホスティングな世界~
2.
WFをアプリケーションに ? WFの特徴
? WorkflowをXAMLとして、保存/読込可能 ? ActivityをDrag&Dropするだけで、実行可能なWorkflowが作成可能 ? つまり、WFを採用するとこんなことができる!? ? リコンパイル不要で処理のカスタマイズ ? 不要な派生バージョンの増加を抑制 ? エンドユーザに処理フロー構築の明け渡し ? 細かすぎるカスタマイズ案件からの解放
3.
アジェンダ ? Workflowの実行
? Workflowの作成 ? CustomActivityの作成
4.
Workflowを実行する ? WorkflowInvoker
? Workflowをメソッドのように実行する。 ? 呼び出し側は、Workflowの終了を待機する。 ? WorkflowApplication ? WorkflowのInstanceを作成し、それを管理する。 ? 呼び出し側は、Workflowの状態変更を各種Callbackとして受け取る ? WorkflowServiceHost ? Workflowをサービスとして実行する(詳細は割愛) (参考)WorkflowInvoker とWorkflowApplication の使用 http://msdn.microsoft.com/ja-jp/library/dd560894%28v=vs.110%29.aspx
5.
Workflowの実行 ? 引数?戻値の設定
? Workflowの実行時読込
6.
Workflowを作成する ? Visual
Studioで、新しい項目の追加→アクティビティ ← Visual Studioで作成とか、うれしくな い。 ? そこで、デザイナー リホスティングですよ。
7.
デザイナーリホスティングとは ? Visual
Studio上のWorkflowデザイナを、コントロール化し独自アプリ ケーションでも利用できるようにしたもの ? ただし、現状VB式のみ ? VisualStudio上のデザイナは.NET4.5よりC#式が利用可能となったので、次期 バージョンぐらいからC#も対応されないかなぁ(希望
8.
提供されるView ? WorkflowDesigner
? DesignView ? OutlineView ? PropertyInspector ? ToolBoxControl
9.
デザイナーリホスティングの基本機能 ? XAMLの読込/保存
? Drag&Dropによる編集 ? 編集中に使用する各種コマンドの提供 ? Cut/Copy/Paste/SelectAll… ? 入力エラーの表示 とりあえず、作ってみましょう ?Demo
10.
標準では有効にならない機能 ? デフォルトでは、.NET
Framework 4.5で強化された機能がOffになってい ます。 ? せっかくなので、Onにしておきましょう。 ? http://blogs.msdn.com/b/tilovell/archive/2012/06/05/wf4-5-enabling-new- net-framework-4-5-features-in-your-rehosted-designer-application. aspx
11.
気を付ける点 ? DesignerMetadataの登録
? おまじない ? WorkflowDesignerの初期化 ? WorkflowDesignerはLoadごとに使い捨て ? Loadしたら、各種Viewも更新 ? ActivityBuilderで初期化すること(引数を使うため) ? ToolBox ? ForeachはForEachWithBodyFactoryを使用すること
12.
エディタを強化する ? 標準では用意されていないが、実装次第で機能追加可能
? インテリセンス ? 実装難易度高 ? IExpressionEditorService とIEXpressionEditorInstance ? http://blogahf.blogspot.jp/2011/11/iexpressioneditorservice.html ? Tracking(デバッグ実行?ログ出力) ? 実装難易度中 ? TrackingParticipant とDebugManagerView ? http://msdn.microsoft.com/en-us/library/ee624139.aspx
13.
CustomActivityの作成 ? 既存のActivityの問題点
? 色々なことが出来過ぎてしまう。 ? Primitive過ぎて、一つのWorkflowを組み立てるのが大変。 ? 全てをまかなえるとは限らない。 ? CustomActivity作成指針 ? Applicationで必要とされる処理単位で作成するとよい ? プログラムの構造を意識させない
14.
CustomActivityの作成 ? CodeActivity
? 任意のコードを実行するときに使用するときに便利な、Activityのサブクラス ? Executeをoverrideするだけお手軽 ? ActivityDesigner ? Workflow上でのActivityの見た目を表現するための基底クラス ? WPFのContentControlのサブクラスでもある ? つまりWPFのXAMLで表現する ? ExpressionTextBox ? VB式を解釈して値を取得するために使用するTextBox
15.
まとめ ? WFアプリケーションお手軽簡単3ステップ
? CustomActivityで処理単位を適切にまとめる ? WorkflowDesingerでXAML編集 ? WorkflowInvokerで実行 ? ただし、文献少な目
16.
参考 ? てすとぶろぐ
? http://blogahf.blogspot.jp/ ? 松崎剛Blog ? http://blogs.msdn.com/b/tsmatsuz/archive/tags/workflow/ ? WF Designer Express ? http://blogahf.blogspot.jp/2011/11/iexpressioneditorservice.html ? Windows Workflow (WF) Samples ? http://msdn.microsoft.com/en-us/library/dd483375.aspx
Download