Есть UserControl
Я добавил в него свойство зависимости:
public string Text
{
get
{
return (string)GetValue(TextProperty);
}
set
{
SetValue(TextProperty, value);
txt.Text = Text; // txt мой tetxtbox из контрола
}
}
public static readonly DependencyProperty TextProperty =
DependencyProperty.Register("Text", typeof(string), typeof(TextBoxP), new PropertyMetadata(null));
Потом в проекте пишу:
Но текст не отображается, как исправить?
Ответ
Это делается примерно так:
А свойство зависимости должно быть обычное:
public string Text
{
get => (string)GetValue(TextProperty);
set => SetValue(TextProperty, value);
}
public static readonly DependencyProperty TextProperty =
DependencyProperty.Register(nameof(Text), typeof(string), typeof(TextBoxP));
Не забывайте, что обычное свойство к свойству зависимости нужно лишь для удобства использования в коде, при установке свойств в XAML фреймворк пишет значение напрямую в DependencyProperty TextProperty, собственно поэтому никакая логика, помещенная в сеттер Text, не будет выполняться.
Комментариев нет:
Отправить комментарий