Хотите, чтобы текстовое поле очищалось при вводе данных - PullRequest
1 голос
/ 01 апреля 2019

Использование C # и WPF. У меня есть много текстовых полей, которые связаны с данными, как это:

Text="{Binding ZipCode, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"

Мне нужен обработчик событий, который установит ZipCode в "", когда пользователь нажимает или вкладывает в поле для ввода данных. Размещенный код работает, но мне нужно, чтобы он использовался другими текстовыми полями. Могу ли я сделать это с отправителем? И это лучший способ очистить текстовое поле при нажатии или вкладке в поле? Спасибо.

private void ClearZipCode_GotKeyboardFocus(object sender, keyboardFocusChangedEventArgs e)
{
    allSettings.ZipCode = "";
}

Ответы [ 2 ]

3 голосов
/ 01 апреля 2019

Создайте пользовательский элемент управления, который имеет текстовое поле и обрабатывает это требование с помощью кода, который вы написали на месте в пользовательском элементе управления.

Затем повторно используйте новый элемент управления по мере необходимости.

1 голос
/ 01 апреля 2019

отправитель всегда является объектом, который вызвал событие, поэтому приведение его к TextBox и установка значения делает то, что вы хотите, но для решения OmegaMan требуется меньше XAML и лучше для повторного использования.

if (sender is TextBox zipCtrl)
{
    zipCtrl.Text = "";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...