WPFはじめました。

4月の後半は諸事情あっていろいろとやることが重なったんで、何もできずゴールデンウィークをはさんで環境と状況が一変したんで優先度がこれまでから大きく変わった。

そんなこんなで、これまで経験から身につけたコアな技術とは違うところの・・・言い方悪いけど表層の実装技術と言うか、平たく言っちゃえばまったくこれまで扱ったことのない Windows API の使い方や概念の理解と実験をメインテーマとしてやってく必要がある。
まあ、そういうのが複数あるんで並行してやってくつっても限界があるし、これまた悩ましい問題がいろいろあって俺かつてないほど大変な状況でもあるのな。エンジニアが言葉遊びしてもしょーがないんで、ここに書ける範囲で書くなら「WPFの勉強をゼロから始めるッ!」って感じ。
(書けない方は、ちょっと家でちょこちょこ調べてどうこうってレベルじゃ無い感じで、英語のドキュメントと格闘しながらかなり低レベルな API とダンスせなアカンのちゃうかなーと予想してる。Windows7 以降に限定したとしても。やるしかない!)

諸事情あって WPF でモダンなルックの Windows アプリケーションを書きたいわけなんやけど、ここで言う「モダンなルック」ってのは Windows8 のフラットな Modern UI(旧称 Metro UI)のことじゃ無くて、Windows7 のソフトシャドウと半透明な Aero テーマなアプリケーションの話。
興味がない人にとっちゃどんなけちゃうねん!ってのと、逆に Windows8 なモダンUIで良いじゃん!って話なんやけどさ。

で、で、でだよ。これまでWPFなんて出始めの頃にWindowsXPにインストールしてちょっとだけ試したことあってんけど、遅いし落ちるしわけワカランしの3重苦でもうちょっと安定するまで待とうとスルーしている間にマイクロソフト環境よりウェブ環境ばっか扱うようになってたんで、全然やってないまま今に至ってる。
ぶっちゃけ、ぶっちゃけ言えば今でもやらんで良いならスルーしたいって気持ちもある。Windows8 のモダンUIアプリ作るのに必須ならば逃げよう無いんやけどさ。趣味でやる分で言うならいろいろと面白そうなところはあるんやけど、今は楽しみよりスピードを優先したい。

現時点でいろいろと心折れそうな要因がいくつかあるんやけど、普通の C# アプリケーションの常識と違い過ぎて下調べしないと手も足も出ないってことなのな。
例えばスゲー単純な例で、エクスプローラ風の2ペインアプリケーションを作りたいとしてネットからコードを拾ってきたとする。

左にツリービュー、右にリストビューで中を取り持つバーチカルスプリッター。
この後で、普通のC#アプリケーションならウィンドウタイトルをダブルクリックしたら Form_Load のイベントハンドラプレースホルダが埋め込まれて、cs 拡張子のソースコードに移動する。WPF だとダブルクリック出来ない。

もちろん調べりゃすぐにやり方はわかるし、慣れりゃそんなことはどってことない話。なんやけど、一事が万事そうやって調べなアカンってことは、それは前にも書いた
ロジック的に「正しい(正しく動作する)」ことと、コード的に「正しい(技術的に推奨される手法で書かれてる)」こと
を毎度きちんと検証せなアカンってことで、これまでC#の非WPFなアプリケーション世界で培ってきた技術が活かせないってことなのな。
(ま、でもやらなしゃーないから習得するけど)

現時点であまりにも手さぐりすぎてワカランことだらけなのと、昔のWPFに対するよくないイメージとWindows8で実験してるのと、諸事情あってキーボード操作が問題だらけでストレスが溜まるのとか、いろんなことが重なりすぎて物事が前に進んで無い。

ま、あせらずにじっくり取り組む。やらなアカンことは山ほどあるんやから、無理にアセってもしゃーない。