"もっと"ボタンの横にあるテキストボックス(textBox1と呼ばれる)を含むTextBoxAndMoreというユーザーコントロールを作成しました。このユーザーコントロールには、Textというプロパティがあります。このTextプロパティは、テキストボックス内のテキストを反映するようにしたいと思います。私のユーザーコントロールのバインディングが機能していません
私のXAMLで、私はこのように、私のViewModelに説明呼ばれるStringプロパティにバインドすることができるように私は、バインド可能であることを、このプロパティを希望:
<my:TextBoxAndMore Text="{Binding Path=Description}" />
だから私は(次のコードを持っていますpropdbスニペットによって生成された):
// Using a DependencyProperty as the backing store for Text. This enables animation, styling, binding, etc...
public static readonly DependencyProperty TextProperty =
DependencyProperty.Register("Text", typeof(String), typeof(TextBoxAndMore),
new UIPropertyMetadata(String.Empty));
public String Text
{
get { return (String)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
そして、テキストボックスに、私はTextChangedイベントハンドラに取り付けたこのコードを持っている、という考えは、その時にテキストボックスにユーザーが、このユーザーのTextプロパティであることコントロールはそれに応じて変更されます:
private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
{
Text = textBox1.Text;
}
ただし結局のところ、バインディングは機能していないようです。出力ウィンドウにエラーはなく、ViewModelのDescriptionプロパティも設定されません(nullのままです)。
私はそれが明らかだと確信していますが、私はWPFにはかなり新しく、いくつかのガイダンスに感謝します。
、変更したいですバインディングは 'TwoWay'になり、ユーザによってなされた更新は自動的にプロパティに戻る。 – Gabe
ありがとうございます、XAMLを ' 'に変更しましたが、私はまだ同じ問題を抱えているようです。 –
Matt