Как добавить производный пользовательский элемент управления TabItem в TabControl в WPF? - PullRequest
3 голосов
/ 16 марта 2010

Я хочу иметь свой собственный базовый класс TabItem и использовать другие классы, производные от него.

image

I define base class in MyNs namespace like this:

public class MyCustomTab : TabItem
{
    static MyCustomTab()
    {
        DefaultStyleKeyProperty.OverrideMetadata(typeof(MyCustomTab), new  FrameworkPropertyMetadata(typeof(TabItem)));
    }
}

And this is what I do for the class that inherits from it:

code-behind in MyNs namespace:

public partial class ActualTab : MyCustomTab
{
    public ActualTab()
    {
        InitializeComponent();
    }
}

XAML:






Я получаю сообщение об ошибке: «Тег 'MyCustomTab' не существует в пространстве имен XML» http://schemas.microsoft.com/winfx/2006/xaml/presentation'". Если я использую тег TabItem в XAML, ошибка говорит о том, что невозможно определить для других базовых классов.

Как это исправить?

1 Ответ

0 голосов
/ 16 марта 2010

Хорошо, я глуп, это должно было быть

<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>
...