- - PR -
ユーザーコントロールにデータバインド
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2002-10-22 09:13
こんにちわ。
TextBox1とBotton1からなるUserControl作成しています。 このUserControlのパブリックプロパティとしてTextBox1.Textの文字を公開し、ここにメインフォームからのDataBindingを設定しようとしているのですが、データソースからコントロールにデータを表示させることはできるのですが、逆にコントロールからデータソースにデータがプッシュされないようです。 ユーザーコントロールの任意のプロパティにデータバインドを行いたい場合は何か変更を通知するコマンド等が必要なのでしょうか? ヘルプを調べてみたのですが、わかりませんでした。 よろしくお願いいたします。 | ||||
|
投稿日時: 2002-10-24 16:48
色々と試しているのですが上手く出来ないでいます。
ユーザーコントロールはWindows.Forms.UserControlからの継承です。 呼び出し履歴をみているとどうもコントロールのValidatingイベントから データバインダマネジャのParseが発生しているようです。 そこでユーザーコントロール内のTextBox.ValidatingイベントからベースクラスのOnValidatingを呼び出してみましたがやはりParseイベントが発生しないようです。 データバインダマネジャはコントロール内のプロパティの変更をどのように感知しているのでしょうか? 引き続き試してみます・・ | ||||
|
投稿日時: 2002-10-24 19:19
ユーザーコントロールで、内部テキストボックスのTextChangedイベントをControl.TextChangedへリルートします。そうしないと、ユーザーコントロールの変更がいつまでも"Dirty"なままでデータ更新が認められません。Validate系イベントはオプションですが、これをやると通常のテキストボックスと同じ動作になります。
Validatedイベントの2行目はもっとまじめなコードにしないとダメでしょう。 | ||||
|
投稿日時: 2002-10-25 16:13
NothingBut.NETFXさんお返事ありがとうございます。
なるほど〜。TextChangedを呼び出すのですね。 上記のコードで正常に動作できるようになりました。 ドキュメントを調べてみたりしたのですがみつからずに困っていました。 ありがとうございました。 | ||||
1
