以下に解説がある。
How To Enable Multiple Row Selection In LightSwitch's Grids - MSDN サンプル ギャラリー
基本的には前回、以下でやったのと同様な方法でGridコントロールをFindして準備OKになったイベントを拾ってSelectionModeプロパティにDataGridSelectionMode.Extendedを設定してやるというパターンだ。
LightSwitch: ◆ConverterとFocusイベントを使って表示形式をカスタマイズする
SelectionModeプロパティの設定自体は問題ないのだが、サンプルの後半で選択状態に応じてボタンの有効・無効を切り替えている処理はなんとなくメタメタな気がする。
CanExecuteイベントハンドラーで有効無効をBool値で返すだけだと思うのだが、そもそも行選択の状態を変更したときにCanExecuteが発生してくれない。
新規行を選択したときに「編集」「削除」ボタンは無効になるのでCanExecuteとは別の仕掛けがあるのだろうか・・・。
CanExecute編集用のメニューも、状況に応じて違いがあり混乱する。
デフォルトのボタンとユーザー追加したボタンで違うのかとも思ったがそうでも無さそう。(デフォルトのボタンでも画面テンプレートによって違う)
なんとなくどうでも良くなってきたので放置。
そもそも、これまではIDEでコントロールのプロパティをポチっと設定するだけでできていたものにたいして此の様な手間をかけるというのは方向性が間違っている。
現時点ではLightSwitchをそのような用途に使うべきでは無いのだろう。
SQLServer Management Studio のデータ参照・更新機能が簡単にカスタマイズ出来る様になった、っと捉えれば非常に便利なツールだ。
それ以上のことをやろうとすると我々一般ユーザーには他の開発ツール以上に敷居が高くなってしまうようだ。
0 件のコメント:
コメントを投稿