Показание выпадающего в автоматическое место, когда текстовое поле пусто ⇐ C#

Место общения программистов C#
Anonymous
Показание выпадающего в автоматическое место, когда текстовое поле пусто

Сообщение Anonymous »

Я использую Avalonia 11.0, и мне нужно выполнить следующее поведение на пользовательском управлении AutoCompletebox: < /p>

Если входной текст пуст, диалог должен показать все элементы коллекции, с которыми станет элемент управления. /> Моя текущая реализация такова: < /p>

Код: Выделить всё

using Avalonia.Controls;

namespace Dropdown_Test.Custom_Controls;

public class AlwaysOpenAutoCompleteBox: AutoCompleteBox {
public AlwaysOpenAutoCompleteBox() {

TextChanged += (sender, e) => {
if( string.IsNullOrEmpty(Text) ) {
FilterMode = AutoCompleteFilterMode.Custom;

} else {
FilterMode = AutoCompleteFilterMode.StartsWith;
}
};
}
}

< /code>
Я попытался также добавить тривиальный предикат, который возвращает True после установки FilTromode на пользовательский (даже если просмотреть код Avalonia src, возвращающий истину, является точным поведением по умолчанию, реализованного в контроле).
также попытался добавить добавление isdropdownopen = true; 
до и после обработки события. Однако управление не ведут себя так, как ожидалось, когда коробка пуста (и сфокусирован). Я подозреваю, что это как -то связано с тем, что метод населения не называется, когда в коробке нет персонажей.

Подробнее здесь: https://stackoverflow.com/questions/796 ... x-is-empty

Вернуться в «C#»