Причина в том, что вы переопределили шаблон по умолчанию и, следовательно, удалили все элементы, которые обычно составляют TextBox
.
Чтобы понять это, важно прояснить, что элементы управления UWP обычно простообеспечивают поведение , но сами по себе состоят из нескольких других элементов управления в своем шаблоне (по терминологии обычно элементы управления XAML выглядят менее по умолчанию). И эти элементы управления обеспечивают визуальное представление элемента управления. Например, в случае TextBox
шаблон состоит из Border
для границ вокруг него, TextBlock
для текста-заполнителя, Button
для очистки содержимого, a ScrollViewer
, где Text
ввод обрабатывается и ContentPresenter
для заголовка и т. Д.
Ваш пользовательский TextBox
на самом деле является просто Border
, что означает, что вы по сути потеряли возможности, которые вы упомянули, потому что нет элементов управления поверхность их визуально.
Чтобы исправить вашу проблему, я предлагаю , начиная со стандартного TextBox
шаблона (путем копированияи вставьте его в свой собственный стиль. А затем просто отредактируйте части, которые вы хотите изменить. Таким образом, вы начнете с полностью функционального состояния и сможете решить, что изменить, сохранив возможности элемента управления.
Вы можете найти шаблон по умолчанию в C:\Program Files (x86)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\{version}\Generic\generic.xaml
. Вы можете найти <Style TargetType="TextBox">
, чтобы найти стиль и шаблон TextBox
по умолчанию.