Перейти к основному содержимому
Версия: 11.0.0

Поле автозаполнения

Поле автозаполнения собой текстовое поле для пользовательского ввода, совмещенное с выпадающим списком элементов, имеющих возможно совпадение введенному значению. Список появляетя, когда пользователь начинает вводить текст. (список возможных элементов обновляется после ввода каждого символа). Пользователь может выбирать значения из списка.

Отдельно, можно настроить правила сравнения элементов при вводе. .

Useful Properties

Часто используемые свойства:

СвойствоОписание
ItemsСписок элементов для сравнения
FilterModeПравила сравнения.
AsyncPopulatorАсинхронная функция, вывдающая список совпадений по заданному сравнению

Ниже представлены все возможные режимы для фильтрации:

Режим фильтрацииОписание
StartsWithРегионо-зависимая проверка начала строки, регистр не учитывается.
StartsWithCaseSensitiveРегионо-зависимая проверка начала строки, регистр учитывается.
StartsWithOrdinalПобайтовая проверка начала строки, регистр не учитывается.
StartsWithOrdinalCaseSensitiveПобайтовая проверка начала строки, регистр учитывается.
ContainsПроверка наличия регионо-зависимой "подстроки", регистр не учитывается.
ContainsCaseSensitiveПроверка наличия регионо-зависимой "подстроки", регистр учитывается.
ContainsOrdinalПроверка наличия побайтовой "подстроки", регистр не учитывается.
ContainsOrdinalCaseSensitiveПроверка наличия побайтовой "подстроки", регистр учитывается.
EqualsПолное совпадение регионо-зависимой, регистр не учитывается
EqualsCaseSensitiveПолное совпадение регионо-зависимой, регистр учитывается
EqualsOrdinalПолное побайтовое совпадение, регистр не учитывается.
EqualsOrdinalCaseSensitiveПолное побайтовое совпадение, регистр учитывается.
к сведению

При использовании ordinal, происходит побайтовое сравнение (не зависит от языка).

Примеры

В примере ниже, используется статический массив значений, определенный в коде C#.

<StackPanel Margin="20">
<TextBlock Margin="0 5">Выберите животное:</TextBlock>
<AutoCompleteBox x:Name="animals" FilterMode="StartsWith" />
</StackPanel>
C#
using Avalonia.Controls;
using System.Linq;

namespace AvaloniaControls.Views
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
animals.Items = new string[]
{"кот", "верблюд", "корова", "хамелеон", "мышь", "лев", "зебра" }
.OrderBy(x=>x);
}
}
}

Больше информации

к сведению

Детальная информация об API элемента, смотрите здесь.

к сведению

Исходный код на GitHub AutoCompleteBox.cs