バインディングと値を共有する.xamlファイルと.csファイルがあります。WPF値の更新に関するバインドの問題
シンプルにするために、私は1つのボタンと1つのテキストボックスを持っています。テキストボックスのテキストに文字がない場合、ボタンを無効にしたいここで
は、結合のためのXAMLの2つのコードです:
<TextBox Name="txtSend" Text="{Binding Path=CurrentText,UpdateSourceTrigger=PropertyChanged}"></TextBox>
<Button IsEnabled="{Binding Path=IsTextValid}" Name="btnSend">Send</Button>
ようなの.csファイルを見に2つのプロパティ:
public string CurrentText
{
get
{
return this.currentText;
}
set
{
this.currentText = value;
this.PropertyChange("CurrentText");
this.PropertyChange("IsTextValid");
}
}
public bool IsTextValid
{
get
{
return this.CurrentText.Length > 0;
}
}
this.PropertyChanged
は、単にPropertyChanged
を呼び出す方法であり、 INotifyPropertyChangedから取得します。
問題は、現在のテキストのセッターでthis.PropertyChange("IsTextValid");
を呼び出してボタンの状態を変更できることです。
質問1)ルールを複雑にすると、多くのPropertyChangedを呼び出す必要があるかもしれません...
質問2)フォームの読み込み時にマイボタンが有効になります。最初からメソッドをチェックするにはどうしたらいいですか?
+1と回答が受け入れられました:+25担当者があなたのために私の友人です。ありがとうございました。 –