No more Death March

あるSEのチラシの裏 C# WPF

2019-02-01から1ヶ月間の記事一覧

WPF MultiBindingのコールバックの挙動について

WPFのMultiBindingを初めて使った時に若干嵌ったのでメモしておく。 テスト用ビヘイビア コードビハインドでMultiBindingクラスを生成しバインディングする。マルチと言いつつTextプロパティしかバインディングしていないが確認するのには十分、コンバーター…

WPF Window起動時のイベント発生順位をメモ

WPF

余り複雑な制御を行っているコントロールを作るのは好ましくないが、どうしてもやらなければならない場合が結構あったりする。そんな時に毎回イベントの発生順位ってどうだっけ?と忘れてしまうことがあるのでメモしておく。後述の通りサンプル画面を作って…

WPF DependencyPropertyDescriptorのAddValueChanged

WPF

前回投稿した記事の中で触れていたDependencyPropertyDescriptorで実際にメモリリークするかどうかを試してみた。前回の記事はこちら↓ nomoredeathmarch.hatenablog.com画面側のコードは省くが、StackPanelとButtonを二つ配置、片方のボタンを押したらStackP…

WPF TextBlockのTextChangedイベント

WPF

TextBlockにはTextChangedというイベントは無いのだけど変更されたタイミングを知る方法はある。検索すれば色々やり方が出てくるけどいくつか種類があるので要点をメモ TargetUpdatedイベントを使う TargetUpdateイベントはバインディングのターゲットが更新…

WPF Bindingの解除は必要なのか

WPF

StackOverFlowから、ざっくりいうと質問が「Bindingって解除しないとメモリリークする?」ということで、 それに対する回答が 「DependencyPropertyかINotifyPropertyChangedを実装しているなら大丈夫、CLRオブジェクトだとメモリリークするかも。」 とのこ…

WPF ScrollViewerとPreviewKeyDown

WPF

画面上にButtonやToggleButtonを並べて配置すると矢印キーの操作でフォーカスを移動させることが出来るが、この連続したボタンをScrollViewerでラップするとフォーカス移動が効かなくなり、代わりにScrollViewerのスクロールバーが押した矢印の方向に動くよ…

WPF PreviewKeyDownとPreviewKeyUpの動き

WPF

またWPFについてちょとしたメモ、プログラムで嵌ったことはいつかの自分のためなるべくメモしておきたい。今回はPreviewKeyDownイベントとPreviewKeyUpイベントについて書いておく。当初、キーを押したらKeyDownイベントがキーを離したらKeyUpイベントが着火…

WPF TextBoxのIsReadOnlyとIsEnabledの組み合わせについて

WPF

WPFに関するちょっとしたメモ、TextBoxを修正させたくない場合基本的にはIsReadOnlyプロパティにTrueを設定するかIsEnabledにFalseを設定すると思われる。が、IsReadOnly=False、IsEnabled=Trueの場合に限って、少し困ったことになる場合がある。それは、確…