Je veux avoir ma propre classe TabItem de base et utiliser d'autres classes qui en dérivent.Comment ajouter TabItem dérivé de contrôle personnalisé à TabControl dans WPF?
I définit la classe de base dans l'espace de noms monen comme ceci:
public class MyCustomTab : TabItem
{
static MyCustomTab()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(MyCustomTab), new FrameworkPropertyMetadata(typeof(TabItem)));
}
}
Et c'est ce que je fais pour la classe qui hérite de celui-ci:
code-behind dans l'espace de noms de monen :
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>
L'erreur que je reçois est « La balise « MyCustomTab »n'existe pas dans l'espace de noms XML « http://schemas.microsoft.com/winfx/2006/xaml/presentation » ». Si j'utilise la balise TabItem
dans XAML, l'erreur indique qu'il n'est pas possible de définir différentes classes de base.
Comment résoudre ce problème?