У меня есть выпадающий список, который я хотел бы, чтобы физически отображаемый текст всегда оставался неизменным.
Я хочу, чтобы пользователь выбрал элемент, который затем был бы передан, но затем фактический текст в поле со списком остался прежним.
на
FileBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
событие, которое я узнаю, какой предмет был выбран с помощью
if (((ComboBox)sender).SelectedItem != null)
{
if (((ComboBox)sender).SelectedItem.ToString() == "New File")
{
}
}
(я обработаю это позже)
Затем я пытаюсь обновить текст до «Файл».
Я пробовал множество подходов, которые, похоже, не работают.
Я пытался просто сделать
FileBox.text = "File";
this.Dispatcher.Invoke(() =>
{
FileBox.Text = "File";
});
FileBox.SelectedItem = "File";
При отладке на самом деле кажется, что свойство .Text обновляется, но затем кажется, что оно перезаписывается при завершении события. Для тестирования у меня есть кнопка, которая делает:
var text = FileBox.Text;
FileBox.Text = "File";
Когда я выбрал «Новый файл», текст var == Новый файл
А код FileBox.Text здесь работает и обновляет его обратно до File
Нужно ли мне снова устанавливать текст вне события SelectionChanged, и если да, то как мне это сделать?
Спасибо
EDIT
Я не думаю, что это дубликат опубликованного сообщения, поскольку он хочет, чтобы его значение по умолчанию исчезало при выборе чего-либо, я хочу, чтобы оно появилось снова