Ich möchte meine eigene TabItem-Basisklasse haben und andere Klassen verwenden, die von ihr abgeleitet sind.
Ich definiere die Basisklasse im MyNs-Namensraum wie folgt:
public class MyCustomTab : TabItem
{
static MyCustomTab()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(MyCustomTab), new FrameworkPropertyMetadata(typeof(TabItem)));
}
}
Und dies ist, was ich für die Klasse, die davon erbt, tue:
Code-Behind im MyNs-Namensraum:
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>
Die Fehlermeldung lautet: "Das Tag 'MyCustomTab' existiert nicht im XML-Namensraum ' http://schemas.microsoft.com/winfx/2006/xaml/presentation '". Wenn ich TabItem
Tag in XAML wird der Fehler angezeigt, dass es nicht möglich ist, verschiedene Basisklassen zu definieren.
Wie kann man das beheben?