私はMVVMを初めて使用しています。私はボタンをクリックしながらテキストボックスにメッセージを表示するサンプルアプリケーションを作成しました。私のコードでは、ボタンコマンドは正常に動作していますが、プロパティはテキストボックスにバインドされていません。 MVVMを使用してTextboxにプロパティをバインドする方法は?MVVMとMVVMツールキットを使用してテキストボックスにプロパティをバインドする方法
私のコードは以下のようになります。
ビュー
<TextBox Name="MessageTextBox" Text="{Binding TestMessage}"/>
<Button Content="Show" Name="button1" Command="{Binding ShowCommand}">
<!-- Command Handler -->
</Button>
ビューモデル
MyMessage myMessage;
public MainViewModel()
{
myMessage=new MyMessage();
}
//inside the ShowCommand Handler
TestMessage="Hello World";
// A Property to set TextBox Value.
モデル
public class MyMessage: INotifyPropertyChanged
{
private string testMessage;
public string TestMessage
{
get { return testMessage; }
set
{
testMessage= value;
OnPropertyChanged("TestName");
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
投稿したコードが誤って解釈される可能性があるので、コードをいくつか追加してください。あなたのVMにモデルのTestMessageを公開する別のTestMessageプロパティがありますか? –
いいえDo not Have。それは間違いでした。 Answersからここに投稿しました私はこれを行う方法を理解しました。ありがとうございました。 – niknowj