Ich habe zwei benutzerdefinierte Steuerelemente erstellt, die genau dieselben sind, mit der Ausnahme, dass sie zwei unterschiedliche Typen aufweisen.WPF: Die benutzerdefinierte Steuereigenschaft wurde bereits von einem anderen benutzerdefinierten Steuerfehler registriert
ControlOne
public class ControlOne : TextEdit
{
public static readonly DependencyProperty AwesomeSauceProperty =
DependencyProperty.Register("AwesomeSauce", typeof(string), typeof(FormTextEditInput));
public string AwesomeSauce
{
get { return GetValue(AwesomeSauceProperty) as string; }
set { SetValue(AwesomeSauceProperty, value); }
}
}
ControlTwo
public class ControlTwo : PasswordEdit
{
public static readonly DependencyProperty AwesomeSauceProperty =
DependencyProperty.Register("AwesomeSauce", typeof(string), typeof(FormTextEditInput));
public string AwesomeSauce
{
get { return GetValue(AwesomeSauceProperty) as string; }
set { SetValue(AwesomeSauceProperty, value); }
}
}
Und in XAML ich einfach tun, um diese
<controls:ControlOne AwesomeSauce="Yummy"/>
<controls:ControlTwo AwesomeSauce="Tummy"/>
und ich bekomme Fehler
System.ArgumentException
'AwesomeSauce' property was already registered by 'ControlOne'.
Sie fragen vielleicht, warum ich zwei Steuerelemente brauche, die die gleichen Dinge tun, ich kann einfach Datenvorlagen erstellen und weitermachen. Aber ich möchte stur sein und sagen, dass ich benutzerdefinierte Steuerelemente verschiedener Typen brauche, die dasselbe tun. Es wäre schön, wenn ich benutzerdefinierte Steuerelemente eines generischen Typs verwenden könnte, aber ich fand heraus, dass das nicht möglich ist (richtig?).
Ich möchte auch nicht andere Namen verwenden, weil das nur ein Hack für das Problem wäre.
Ich möchte nur, dass meine zwei Steuerelemente die gleichen Namen für ihre Abhängigkeitseigenschaften verwenden können. Gibt es etwas, das mir hier fehlt? oder bin ich gerade dabei, nicht die gleichen Namen zu verwenden?
Ich vermute, dass angefügte Eigenschaften die Lösung dafür sein würden, aber ich möchte wirklich für ein benutzerdefiniertes Steuerelement drücken.
schön ist verbindlich! Ich weiß nicht, wie ich es verpasst habe. –