ブログ

XAML勉強日記 2015/11/14

2015年11月24日 21:00 | ブログ | | 204 views

このエントリーをはてなブックマークに追加
はてなブックマーク - XAML勉強日記 2015/11/14
reddit にシェア
Pocket
LINEで送る

つい先日、田中さんから「WPFってやったことある?」と聞かれ、
「やろうとしたけど、考え方が分からんくてあんまりやったことないです。」と回答したおもやんです。

WPFとは

Windows Presentation Foundation
https://ja.wikipedia.org/wiki/Windows_Presentation_Foundation

今までのWindowsアプリケーションでは画面とコードががんじがらめになっているので、
Webアプリケーションみたいに画面とコードを分離しましょう!ということをやろう!って感じのものかなって思っています。
(テキストボックスに値を設定するのに「TextBox.Text = “設定値”;」はナンセンスみたいな?)

あとは最近のものなので、DirectXを使ってリッチに描画できますよ!とか
拡大縮小してもギザギザになりませんよ!とかいったことができたりもします。
これによって、DPI設定によって文字サイズが125%や150%になってもきれいに表示できます。(←個人的に重要)

MVVM

Model View ViewModel
https://ja.wikipedia.org/wiki/Model_View_ViewModel

画面とコードを分離しましょうという考え方はいっぱいあるらしく、
そのうちの1つとしてModel View ViewModel(MVVM)パターンがあり、
WPFではMVVMパターンを利用しているようです。

画面と処理とを分けましょう!って言うのはすごく分かるのですが…
ここで私がさっぱり分からんのが、Model、View、ViewModelに当たるものが何なのか?です。

View

MVVMで色々ぐぐってみると、どうやらViewに当たるものはXAMLで書かれた画面っぽいです。
表示と入力だけを請け負う人でバインドされたViewModelの中身を表示するって感じでしょうか…
バインドってのもよく分かっておりませんが…

ModelとViewModel

こちらはどうも明確に分かれているのか分かれていないのかさっぱりです。
ViewModelはデータが変更されたらViewに通知をしたりModelに入れるときのデータ検証を行ったりする人のようですが…
ViewとModelの橋渡しをするイメージだと思うのですが、Modelとの区別ができておりませぬ…

どっちでもええやんみたいなものも見つかったのですが…
この辺りは自分の手を動かしてやってみないと分からないかもしれませんね。

まとめ

MVVMでぐぐって調べた結果を残してみました。
さて、おもやんのXAML勉強日記は続くのか?続かないのか?たぶん、続かないでしょう。