如何将自定义控件派生的 TabItem 添加到 WPF 中的 TabControl?

Posted

技术标签:

【中文标题】如何将自定义控件派生的 TabItem 添加到 WPF 中的 TabControl?【英文标题】:How to add custom-control-derived TabItem to TabControl in WPF? 【发布时间】:2011-01-28 05:15:21 【问题描述】:

我想拥有自己的基本 TabItem 类并使用派生自它的其他类。

我在 MyNs 命名空间中这样定义基类:

public class MyCustomTab : TabItem

    static MyCustomTab()
    
        DefaultStyleKeyProperty.OverrideMetadata(typeof(MyCustomTab), new  FrameworkPropertyMetadata(typeof(TabItem)));
    

这就是我为继承它的类所做的:

MyNs 命名空间中的代码隐藏:

public partial class ActualTab : MyCustomTab

    public ActualTab()
    
        InitializeComponent();
    

XAML:

<MyCustomTab x:Class="MyNs.ActualTab"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>

</Grid>
</MyCustomTab>

我得到的错误是“XML 命名空间'http://schemas.microsoft.com/winfx/2006/xaml/presentation'中不存在标签'MyCustomTab'”。如果我在 XAML 中使用 TabItem 标记,则错误表示无法定义不同的基类。

如何解决这个问题?

【问题讨论】:

【参考方案1】:

好吧,我傻了,应该是这样

<MyNs:MyCustomTab x:Class="MyNs.ActualTab"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:MyNs="clr-namespace:MyNs">
<Grid>

</Grid>
</MyNs:MyCustomTab>

【讨论】:

以上是关于如何将自定义控件派生的 TabItem 添加到 WPF 中的 TabControl?的主要内容,如果未能解决你的问题,请参考以下文章

如何将自定义 UIViewController 添加到现有的 XIB?

Sharepoint 将自定义控件添加到 Web 部件错误

php 将自定义控件添加到现有Elementor窗口小部件

将自定义 QWidget 添加到 QListWidget

使用带有引导程序的 dataTables 将自定义控件附加到 dom

MFC:如何将自定义控件包含到 Visual Studio 的工具箱中