スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: スポンサー広告

WPF4で開発を始めるなら(弐)

WPF4で開発を始めるなら、というか、仕事で使ってる現在の共通ライブラリをベースに、まず画面起動まで行ってみようと思った時に揃えたものの一覧が↓になる。

○共通系(WPF非依存)
・基本なクラス
Disposableな基底クラス
Disposeできた方がなんとなく安心できてしまうという…。実際、いつガベコレしてくれるかわからないので、Disposeしておかないと、ワーキングセットがバンバン増え、そして一向に減らない気がする。

・ローカライズ化関係。WPFには関係のない部分。
多言語化、或いはローカライズ(壱)
多言語化、或いはローカライズ(弐)
多言語化、或いはローカライズ(参)
多言語化、或いはローカライズ(四)
Windows8以降のアプリ、特にWindows Storeに登録しようと思うなら、日本語以外も用意する必要があったりする。個人的なアプリ、日本語だけで良いなら、これらは要らない。

・ユーティリティなクラス
クラスはシンプルが良い(Utility編)
基本、staticクラスにstaticなメソッド。拡張メソッドも付ける。staticな変数は基本readonlyで。一つの目的だけを一つのメソッドにしたシンプルな物を目指したい。
○WPF共通系
 開発手法的には、やっぱりMVVMだよねぇと。コードビハインドは添付プロパティや拡張コントロール内だけにしておきたい。
・ローカライズ(WPF的な)
 マークアップでXAML側に書く方が良いかなと。
Localization of a WPF application using a custom MarkupExtension

・拡張コントロール
 拡張したのは、ContentControlとDatePicker。
マスターページならぬマスターウィンドウが欲しい。
DatePickerで、IsReadOnlyを設定したい。
 DataGridは基本添付プロパティ。拡張しだすとキリがない。アレもコレもと入れまくり、結果重くて使えないとかありそうで。必要があれば添付(アタッチ)するという方式で行った方がいいと思う。

・添付ビヘイビア
 ViewModelとのバインディングで大活躍でした。
MVVMで、メッセージボックスを表示する(壱)
MVVMで、メッセージボックスを表示する(弐)
MVVMで、メッセージボックスを表示する(参)
MVVMパターンで、イベントをどうにかしよう。
とかで。あ、コンバータもあった方が良いな。
異なる型同士でバインディングさせたい時もある。

・コマンド
ボタンとのバインディング、イベントにカラム添付プロパティとのバインディング等は必須。
MVVMに必須なCommandクラスを作る。
画面の起動や終了に連携するコマンド等も最初にほしいところ。

・ViewModel
ViewModelの基底を作っておいた方が何かと作り始めやすいかな。
ViewModelの基底クラスを作る。
対Window用ViewModelをとりあえず作るか。

・WPF向けユーティリティクラス
WPFに向けたユーティリティなメソッド。あると便利。主に共通系の開発者が。
VisualTreeを使って、目当てのコントロールを探す
その行(DataGridRow)が、DataGridの表示領域内にあるかどうか

最低限必要な物を揃えて、開発をすすめる中で、開発者から「アレがほしい」「コレ一々めんどくさい」という要望や愚痴のようなものを拾って作っていくと、結構使い勝手の良いものになるかなと思う。実際に仕事で使っているやつはそうやって熟成されてきたし。
スポンサーサイト
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0


この記事へのコメント

コメントの投稿

非公開コメント


サイドバー背後固定表示サンプル

当ブログに書かれたソースコードは流用自由です。

バグ、スペルミス等はありうる事です。

ご利用の際は自己責任でお願いしますm(_ _)m

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。