У меня есть созданный мной пользовательский элемент управления с именем TextBoxAndMore, который содержит текстовое поле (называемое textBox1) с кнопкой «еще» рядом с ним.На этом пользовательском элементе управления у меня есть свойство Text.Я хотел бы, чтобы это свойство Text отражало текст в текстовом поле.
Я бы хотел, чтобы это свойство было привязываемым, чтобы в моем XAML я мог связать его со свойством String с именем Description в моей ViewModel, например:
<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;
}
Однако конечный результат заключается в том, что привязка просто не работает.В окне вывода нет ошибок, и мое свойство Description в моей ViewModel просто не устанавливается (оно остается нулевым).
Я уверен, что это что-то очевидное, но я довольно новичок в WPF ибыл бы признателен за некоторые рекомендации.