Как продлить контроль в Авалонии?

Я хочу расширить выпадающий список по умолчанию с некоторыми функциями. Пользовательский раскрывающийся список должен вести себя как раскрывающийся список по умолчанию в .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

Другие вопросы по тегам