2011-05-01から1ヶ月間の記事一覧

ViewMakerで生成するWPF/Silverlightコントロール(18)TabControl編

今回はTabControlです。業務アプリでも情報量の多い画面を作成する場合に利用します。ViewMakerではなるべくサポートするコントロールを絞り込もう当初は考えていたのですが、悩んだ末、含めたコントロールです。 TabControlコントロール TabControlのタブの…

ViewMakerで生成するWPF/Silverlightコントロール(16)TreeView編

今回は業務アプリとしては使用回数は多くありませんが、たまに出てくるTreeViewです。階層構造のあるオブジェクトを簡単にナビゲーションできるのでツール作成などでは重宝します。 TreeViewコントロール TreeViewはWPF/Silverlightで若干機能差があります。…

ベータリリース

機能追加は最小限にリリースに向けた微調整を開始するViewMakerベータ版を公開します。バグはまだまだあると思いますが、使えるレベルになってきていますので、いろいろコメントいただきながら最終化をめざします*1。あと、WPF版だけになるのですがコードか…

ViewMakerで生成するWPF/Silverlightコントロール(15)DataGrid編

DataGridは業務には欠かせないコントロールで必須のものです。ただ、入力検証のカスタマイズなど細かい点を調整しようとするとなかなか難度の高い問題にぶつかります。そういう意味では、機能についてある程度割り切りをして(DataGridの仕様に合わせて)、…

ViewMakerで生成するWPF/Silverlightコントロール(14)Grid編

今回はパネル最後のGridです。非常に高機能ですがその分知識が必要なのがネックになる場合があります。ViewMakerをそれを緩和する仕組みをいくつか用意しています。基本的にはWebのTableを使った配置のイメージでできるようにました。 Gridコントロール View…

ViewMakerで生成するWPF/Silverlightコントロール(13)StackPanel編

今回は2つ目のパネルStackPanelです。 StackPanelコントロール StackPanelは上または左から順番にコントロールを並べて配置します。シンプルですが綺麗に整列してくれます。StackPanelで利用できる項目は以下の通りで前回のCanvasとほぼ同じです。配置方向の…

ViewMakerで生成するWPF/Silverlightコントロール(12)Canvas編

今回から数回に分けてPanel系のコントロールを説明します。今回はCanvasです。 Canvasコントロール CanvasはX,Y座標を利用してコントロールの位置を指定して配置するパネルです。以下Canvasで利用可能な指定項目です。 HeaderPosition(パネルに配置されたコ…

ViewMakerで生成するWPF/Silverlightコントロール(11)共通項目編

かなりのコントロールを説明してきましたが、今回は各コントロールで共通的に指定可能な項目を挙げておきます。WPFやSilverlightの基本的な項目と同じまたは想像可能な範囲のものが並んでいると思いますので説明は割愛します。あと業務アプリでは入力項目に…

ViewMakerで生成するWPF/Silverlightコントロール(10)Hyperlink編

外部文書との連携が必要な場合などに利用されるHyperlinkをViewMakerでもサポートしています。 Hyperlinkコントロール WPFではHyperlinkを利用していますが、SilverlightではHyperlinkButtonを利用しいています。いずれも標準でふくまれていて、URIアドレス…

ViewMakerで生成するWPF/Silverlightコントロール(9)Button編

今回はButtonです。自動生成ではボタンは画面下部にまとめて並べられます。 Buttonコントロール WPF/Silverlightいずれも標準でふくまれていて、ICommand型にバインドします。 ViewMakerで指定可能なButtonの項目は以下の通りです。 ImageSource(イメージの…

ViewMakerで生成するWPF/Silverlightコントロール(8)DatePicker編

今回はDatePickerです。 DatePickerコントロール WPFは標準ですが、SilverlightはSDKが必要です。DateTime型またはString型をSelectedDateにバインドして利用します。 ViewMakerで指定可能なDatePickerの項目は以下の通りです。 SelectedDateFormat(選択し…

ViewMakerで生成するWPF/Silverlightコントロール(7)CheckBox編

今回は定番コントロールのCheckBoxです。シンプルなコントロールなので特に説明は必要ないですよね。 CheckBoxコントロール WPF/Silverlightいずれも標準でふくまれていて、bool型にバインドします。ViewMakerで指定可能なCheckBoxの項目は以下の通りです。 …

ViewMakerで生成するWPF/Silverlightコントロール(6)ItemsControl編

今回は意外?に便利ItemsControlについてです。特殊なフォーマットの一覧が必要な場合に活躍してくれます。 ItemsControlコントロール WPF/Silverlightいずれも標準でふくまれております。コレクション型のプロパティを指定するとItemsControlにバインドしま…

ViewMakerで生成するWPF/Silverlightコントロール(5)RadioButtonList編

WPF/SilverlightにはRadioButtonListというものはないのですが、ASP.NETではよく利用させてもらっていたので、RadioButtonではなくRadioButtonListとして取り込みました。RadioButton自体はグループの任意の1つを選択するというものなのでSelector的な概念…

Entity Framework Code First + ViewMakerの開発は楽しい!!

以下のコードだけでDBアプリができてしまいます。SQLコードゼロ、XAMLゼロなので本当にC#だけで開発ができてしまいます。 Naked Objectsの思想に近いかもしれませんが、ドメインモデル+ViewModelで業務アプリ開発のブレークスルーを目指したいです。 using …

ViewMakerで生成するWPF/Silverlightコントロール(4)ListBox編

今回はListBoxです。前回のComboBoxとほぼ同じような使い方になります。 ListBoxコントロール WPF/Silverlightいずれも標準でふくまれており基本的な機能は変わらないようです。 ViewMakerで指定可能なListBoxの項目は以下の通りです。 ItemsSource(一覧用…

ViewMakerで生成するWPF/Silverlightコントロール(3)ComboBox編

今回はComboBoxでこれも業務アプリではよく使うコントロールです。 ComboBoxコントロール WPFとSilverlight両方ともComboBoxは標準で含まれていますがSilverlightは残念ながら編集可能にできません。ViewMakerでは編集可能なComboBoxをAutoCompleteBoxで代用…

ViewMakerで生成するWPF/Silverlightコントロール(2)TextBox編

前回に引き続き今回もViewMakerで利用できるコントロールを説明します。今回はTextBoxです。 TextBoxコントロール TextBoxは一般的なコントロールなのでWPF・Silverlightいずれにも標準で含まれています。ViewMakerでは以下のような項目を設定できるようにな…

ViewMakerで生成するWPF/Silverlightコントロール(1) Label編

今回からはViewMakerで生成するコントロールについて説明します。ViewMakerはWPF/Silverlight両方を対応していますので、それぞれの違いも比較しながら説明したいと思います。 Labelコントロール まず最初はLabelコントロールです。WPFは標準で含まれていま…

ViewMakerにみるMVVMの実装(4)

今回はViewMakerで利用しているサービスについて説明します。 ServiceLocatorによりサービス切り替え ViewMakerではViewLayoutの生成や永続化、XAMLの生成などの処理をサービスとして定義・実装しています。これらのサービスはMEFを使ってIoCの仕組みで入れ…

ViewMakerにみるMVVMの実装(3)

今回はView側で行う入力検証処理です。WPFもSilverlightも同時的な入力検証処理を持っていますが、これらは通常画面上で入力されたタイミングでチェック処理が発生します。しかし業務アプリではボタン押下時などに強制的に全入力項目をチェックしたり、一部…

ViewMakerにみるMVVMの実装(2)

ViewModelに引き続き、ViewModelから送出されるイベントをハンドリングするView側のヘルパー処理について説明します。 MEFによる入れ替え可能なヘルパー処理の実装 ヘルパー処理のインタフェースはIViewCommandHelperで定義されており、MEFを使って実装を切…

ViewMakerにみるMVVMの実装(1)

現在作成しているViewMakerもようやくベータ版(機能FIX)をリリースできそうになってきました。 ベータ版をリリースするにあたり作成したコードについて内容を再確認しています。それに合わせて主要な箇所を説明していきたいと思います。まず最初に、ViewMo…

MVVMで業務アプリを作成するときに困る典型なシナリオ

MVVMで業務アプリでよく出てくるシナリオでMVVMでどのように実装すれば良いか困るシナリオがあります。メッセージボックスの表示や画面遷移などがよく見かけますがこれ以外も案外あります。たとえば以下のシナリオです。 コマンド処理時のカーソル状態制御 …

ViewModelのパワー

ViewModelをベースに開発していると画面の作成も普通のクラスと同じような仕組みで開発ができます。これはC#などの仕組みを効果的に使えることを意味しており非常に強力です。 DataEditViewModel ViewMakerでもViewModelをベースに開発をしています。その中…

ViewMakerの機能強化

ViewMakerをいろいろ機能強化しました。 主な強化は以下の3点です。 ・レイアウト機能の強化 ・コントロール設定項目のガイドなどの操作性の向上 ・LOB(業務)アプリで利用するイベント用のビヘイビアの追加 レイアウト機能の強化 業務シナリオで作成するよ…