Я пытаюсь создать UserControl
, похожий на TextBox
белый два разных изменения.
Прежде всего новый TextBox
должен отображать «PlaceholderText», если текстовое значение TextBox
пусто. Мое решение для этой реализации включает в себя второй TextBox
белый «PlaceholderText» как просто текстовый атрибут. Наконец я изменил видимость и фокус на другой TextBox
.
Когда объект Textid ValidationResult возвращает false, они отображают TextBlock
белый "ErrorMessage"
Они буксируют реализации, которые уже работают и существуют. Для моего нового TextBox
я скопировал все специфические свойства TextBox
в свой новый элемент управления и передал их исходному TextBox
.
Теперь я попытался связать свойство Text
из моего нового элемента управления с объектом DependencyPropery (во ViewModel).
Моя реализация выглядит так:
Пользовательское свойство TextBox Text
public string Text
{
get => TbSource.Text;
set => TbSource.Text = value;
}
ViewModel propdp
public static DependencyProperty PersonProperty =
DependencyProperty.Register(nameof(Person), typeof(Person), typeof(PersonViewModel));
public Person Person
{
get => (Person)GetValue(PersonProperty);
set => SetValue(PersonProperty, value);
}
И мой взгляд
<customControl:NiceTextBox Grid.Row="0" Grid.Column="1" IsPlaceholderAktive="True" PlaceholderText="Enter first name" ErrorMessage="The given first name isn't valid." Text="{Binding Person.Name}" />
Теперь при реализации в View я стал следить за сообщением: 
Кто-нибудь знает, как это исправить? Я попытался изменить свое свойство Text на свойство зависимости, но затем я не могу передать ввод и вывод из TbSource.