Я хочу прикрепить свойство зависимости только к определенным элементам управления.
Если это только один тип, я могу сделать следующее:
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);
}
(Итак: ограничьте тип Control
в Get / Set-методах)
Но теперь я хочу разрешить это свойство чтобы подключиться к другому типу Control
, тоже.
Вы бы попытались добавить перегрузку для обоих методов с этим новым типом, но это не удалось скомпилировать из-за «Неизвестная ошибка сборки, обнаружено неоднозначное совпадение».
Итак, как я могу ограничить мои DependencyProperty
к выбору Control
s?
(Примечание: в моем конкретном случае он мне нужен для TextBox
и ComboBox
)