首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Avalonia中扩展控件?

如何在Avalonia中扩展控件?
EN

Stack Overflow用户
提问于 2018-08-08 20:23:06
回答 1查看 1.5K关注 0票数 4

我想用一些功能来扩展默认的下拉列表。自定义下拉列表的行为应该类似于.xaml文件中的默认下拉列表,因此应该可以向其中添加项目。

不幸的是,它似乎不像WPF那样工作。这就是我的方法:

MainWindow.xaml: (添加了命名空间)

代码语言:javascript
复制
<local:myCustomDropDown>
  <DropDownItem>1</DropDownItem>
  <DropDownItem>2</DropDownItem>
</local:myCustomDropDown>

myCustomDropDown.xaml:

代码语言:javascript
复制
<DropDown xmlns="https://github.com/avaloniaui"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          x:Class="AvaloniaApplication2.myCustomDropDown">
</DropDown>

背后的代码:

代码语言:javascript
复制
public class myCustomDropDown : DropDown
{
    public myCustomDropDown()
    {
        this.InitializeComponent();
    }

    private void InitializeComponent()
    {
        AvaloniaXamlLoader.Load(this);
    }
}

这似乎在编译时没有出现错误或警告,但是控件没有显示。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-09 15:40:51

您还需要应用DropDown的控件样式。您可以通过如下方式更改Style键:https://github.com/AvaloniaUI/Avalonia/blob/353c24b8abdeaae2a1c543665ef46c2161573e9f/src/Avalonia.Controls/UserControl.cs#L31

代码语言:javascript
复制
public class UserControl : ContentControl, IStyleable
{
        Type IStyleable.StyleKey => typeof(ContentControl);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51746650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档