Das folgende WPF UserControl heißt DataTypeWholeNumber und funktioniert.
Jetzt möchte ich ein UserControl mit den Namen DataTypeDateTime und DataTypeEmail usw. erstellen .
Viele der Abhängigkeitseigenschaften werden von all diesen Steuerelementen gemeinsam genutzt. Daher möchte ich ihre allgemeinen Methoden in einen BaseDataType einfügen und jedes dieser UserControls von diesem Basistyp erben lassen.
Wenn ich das mache, erhalte ich jedoch die Fehlermeldung: Teildeklaration hat möglicherweise keine unterschiedlichen Basisklassen .
Wie kann ich die Vererbung mit UserControls implementieren, sodass alle gemeinsam genutzten Funktionen in der Basisklasse enthalten sind?
using System.Windows;
using System.Windows.Controls;
namespace TestDependencyProperty827.DataTypes
{
public partial class DataTypeWholeNumber : BaseDataType
{
public DataTypeWholeNumber()
{
InitializeComponent();
DataContext = this;
//defaults
TheWidth = 200;
}
public string TheLabel
{
get
{
return (string)GetValue(TheLabelProperty);
}
set
{
SetValue(TheLabelProperty, value);
}
}
public static readonly DependencyProperty TheLabelProperty =
DependencyProperty.Register("TheLabel", typeof(string), typeof(BaseDataType),
new FrameworkPropertyMetadata());
public string TheContent
{
get
{
return (string)GetValue(TheContentProperty);
}
set
{
SetValue(TheContentProperty, value);
}
}
public static readonly DependencyProperty TheContentProperty =
DependencyProperty.Register("TheContent", typeof(string), typeof(BaseDataType),
new FrameworkPropertyMetadata());
public int TheWidth
{
get
{
return (int)GetValue(TheWidthProperty);
}
set
{
SetValue(TheWidthProperty, value);
}
}
public static readonly DependencyProperty TheWidthProperty =
DependencyProperty.Register("TheWidth", typeof(int), typeof(DataTypeWholeNumber),
new FrameworkPropertyMetadata());
}
}