忍者ブログ
dontina のブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

先日の Livet の WindowCloseCancelBehavior  の続き。

WindowCloseCancelBehaviorExを作った。

Livetの作りが良いので、拡張も簡単。
無事、Windowの終了時に選択画面を表示し、閉じるのキャンセルができるようになりました♪
作りが微妙にまどろっこしいのは、当初、ViewModel側でMessageboxを出す仕様にしてたのを
無理やり改修したため。
もう少しすっきりさせたいな・・・。
PR
WindowのClosingイベントが起きたら、
選択画面を表示し、入力に応じてイベントキャンセルさせるのに
WindowCloseCancelBehaviorを使ってやってみようとした。




だが・・・・・



選択画面の入力内容にかかわらずWindowが閉じてしまう(T^T)

どうやら、CanCloseにBindしてあるプロパティの初期値に従ってる模様。
なので、
みたいなコードを書いて、実行順番を調べてみた。
結果、
     Windowの×ボタンを押す
       ↓
     ビヘイビア呼び出される
       ↓
     イベントトリガ呼び出される
の順で動きました。

なので、Closingイベントをトリガとしてキャンセルするかどうかを設定したい場合は、
  WindowCloseCancelBehavior
は使えません。
ビヘイビア内で、コマンドを呼び出せるような仕様のビヘイビアを作れば何とかなるかな・・・。

→続き
WPF
永らくWindowsFormsばっかりだったのだが、
さすがにそろそろWPFへの移行も考えた方がいいような
気がしてきた。。。

実は数年前にも一度WPFに挑戦したのだが
当時のPCのスペックがしょぼすぎて
VS2008のXAMLエディタの重さに耐えられず断念。

で、ようやく重い腰を再び上げて
色々と調べていたら、MVVMというMVCみたいなのが主流のようだ。
Livet(http://ugaya40.net/livet)というライブラリを使うと幸せになれるというので
実験中。


むきーーっ!!!

画面を閉じるのってどうやるんだ??
画面遷移は・・・??
ViewとViewModelを疎結合にするのがこんなに面倒だとは・・・。

でも、少しだけ慣れてきた気配♪

画面を作り変えようとしたところで途中で止めてたら

どこをどうしようと考えていたのか全く分からなくなり無期限保留中。

最近は特に御要望も無いようなので、最後のバージョンアップをしてから

新しい物の製作をしようと考えていたのだが・・・( ̄^ ̄)

またそのうちに。



忍者ブログ [PR]
カレンダー
06 2025/07 08
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
フリーエリア
最新CM
最新TB
プロフィール
HN:
dontina
性別:
非公開
バーコード
ブログ内検索
アクセス解析
忍者カウンター