如何在Avalonia中扩展控件?

5

我希望扩展默认的下拉菜单并添加一些功能。自定义下拉菜单应该像 .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个回答

3

4
只提供链接作为答案是不好的做法,因为它不会为用户提供直接帮助,并且可能导致他们在查看外部链接时遇到问题。建议将相关部分复制并粘贴到答案中,以便用户可以立即获得必要的信息。更多信息请参阅此主题。 - mrogal.ski
@kekekeks,鉴于一些被引用的myget存储库已经关闭(不再可访问),您能否请详细解释一下您的答案?我知道在GitHub世界中,链接20个项目是“可以接受的”...但是,由于一个F#测试项目需要一个不存在的引用,因此无法再构建AvalonStudio的源代码。这就是为什么在StackExchange上,“每个人”都指向仅限链接答案并尖叫Mateusz所说的原因。因为引用链接会失效,答案也就不存在了;就像在covid时期有损坏链接依赖项的github项目一样。:P - CherryCoke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接