動作環境
Windows 8.1 Pro (64bit)
Microsoft Visual Studio 2017 Community
Sublime Text 2
Behaviorの実装を検討中。
添付ビヘイビアを使い TextBox で数値以外を入力できなくする。 by hilaponさん
を見つけた。
コードの構造とカスタム添付プロパティ
「添付ビヘイビア」のコードの構造を見ると、以下のようだ。
- IsNumericというDependencyProperty を定義
- GetXXX()を定義
- SetXXX()を定義
- XXXChanged()を定義
- XXXChanged()において、イベントを登録したり削除したりする
- 例: OnKeyDownイベント
- 例: OnTextChangedイベント
プロパティ自身の名前により関数名が決まるので、関連情報は見つけにくいように思う。
下記が関連しそうだ (WPFでなくUWPとなっているが)。
カスタム添付プロパティ
AttachedPropertyBrowsableForType
[AttachedPropertyBrowsableForType(typeof(TextBox))]
という部分については以下を見つけた。
[WPF][C#]DataGridの列の自動生成を属性でカスタマイズ その2 @ かずきのBlog
公式は以下のようだ。
AttachedPropertyBrowsableForTypeAttribute クラス
「キーワード」+Attributeで公式を見つけられるのかもしれない。