Quiero adjuntar una propiedad de dependencia únicamente a controles específicos.Limitar propiedad de dependencia adjunta en wpf
Si ese es sólo un tipo, no puedo hacer esto:
public static readonly DependencyProperty MyPropertyProperty = DependencyProperty.RegisterAttached("MyProperty", typeof(object), typeof(ThisStaticWrapperClass));
public static object GetMyProperty(MyControl control)
{
if (control == null) { throw new ArgumentNullException("control"); }
return control.GetValue(MyPropertyProperty);
}
public static void SetMyProperty(MyControl control, object value)
{
if (control == null) { throw new ArgumentNullException("control"); }
control.SetValue(MyPropertyProperty, value);
}
(Así: limitar el tipo Control
en las get/set-Métodos)
Pero ahora quiero para permitir esa propiedad para conectarse a un tipo diferente de Control
, también.
Intentaría agregar una sobrecarga para ambos métodos con ese nuevo tipo, pero eso no se puede compilar debido a un "Error de construcción desconocido, se encontró una coincidencia ambigua".
Entonces, ¿cómo puedo limitar mi DependencyProperty
a una selección de Control
s?
(Nota: En mi caso concreto lo necesito para TextBox
y ComboBox
)
para aclarar que obtener el error si tiene dos métodos 'SetMyProperty (control de cuadro de texto, el valor del objeto)' y SetMyProperty (control ComboBox, el valor del objeto) ''? Si es así, puede ser una limitación del sistema de propiedad adjunto. Si es así, no puede haber otra forma de evitarlo que unirse a la clase base común más grande y lanzar una excepción cuando está conectado a un tipo de control no compatible ... – Will
@ Will - sí, eso es lo que intenté = (Eso Sería malo, así que tengo que primero _ "permitir" _ para todos los 'Control's ... – ordag