カスタム コンポーネント プロパティの定義と PropertyChanged イベントの発生
更新 : 2007 年 11 月
クライアント コンポーネント クラスを作成する場合、プロパティを定義しページの作成者がアクセスできるようにします。コンポーネントのプロパティの set アクセサで Sys.Component.propertyChanged 通知イベントを発生させることもできます。コンポーネントを使用するページ作成者は、プロパティ通知イベントを独自のハンドラにバインドして、プロパティ値の変更時にコードを実行できます。
カスタム クライアント コンポーネントでのパブリック プロパティの定義
ASP.NET AJAX クライアント コンポーネントでは、プロパティのアクセサは、クラス プロトタイプのメソッドとして定義されます。プロパティ名の前に get_ プレフィックスまたは set_ プレフィックスを付加したものをアクセサ メソッドの名前として使用します。クラス プロトタイプで interval という名前の読み取り/書き込みプロパティを定義する方法を次の例に示します。
get_interval: function() {
return this._interval;
},
set_interval: function(value) {
this._interval = value;
}
PropertyChanged イベントの発生
プロパティの set アクセサで Sys.Component raisePropertyChanged メソッドを呼び出して、propertyChanged イベントを発生させることができます。コンポーネントは、Sys.Component、Sys.UI.Behavior、または Sys.UI.Control の各基本クラスから、raisePropertyChanged メソッドを継承します。
interval プロパティが設定されたとき、このプロパティの propertyChanged イベントが必ず発生するようにする方法を次の例に示します。
get_interval: function() {
return this._interval;
},
set_interval: function(value) {
if (this._interval !== value) {
this._interval = value;
this.raisePropertyChanged('interval');
}
}
カスタム コンポーネントの propertyChanged イベントを発生させる方法および処理する方法の例については、「カスタムの非ビジュアル クライアント コンポーネントの作成」を参照してください。raisePropertyChanged メソッドの詳細については、Sys.Component.raisePropertyChanged メソッド を参照してください。