Как продлить контроль в Авалонии?
Я хочу расширить выпадающий список по умолчанию с некоторыми функциями. Пользовательский раскрывающийся список должен вести себя как раскрывающийся список по умолчанию в .xaml
файл, так что должно быть возможно добавить элементы к нему.
К сожалению, это не похоже на работу в WPF. Это мой подход:
MainWindow.xaml: (добавлено пространство имен)
<local:myCustomDropDown>
<DropDownItem>1</DropDownItem>
<DropDownItem>2</DropDownItem>
</local:myCustomDropDown>
myCustomDropDown.xaml:
<DropDown xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="AvaloniaApplication2.myCustomDropDown">
</DropDown>
Код позади:
public class myCustomDropDown : DropDown
{
public myCustomDropDown()
{
this.InitializeComponent();
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
}
Это, кажется, компилируется без ошибок или предупреждений, но элемент управления не отображается.
1 ответ
Решение
Вам также необходимо применить стили управления DropDown. Вы можете сделать это, изменив ключ стиля следующим образом: https://github.com/AvaloniaUI/Avalonia/blob/353c24b8abdeaae2a1c543665ef46c2161573e9f/src/Avalonia.Controls/UserControl.cs#L31