В фоне вот как register an attached property
public static readonly DependencyProperty IsBubbleSourceProperty = DependencyProperty.RegisterAttached(
"IsBubbleSource",
typeof(Boolean),
typeof(AquariumObject),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)
);
public static void SetIsBubbleSource(UIElement element, Boolean value)
{
element.SetValue(IsBubbleSourceProperty, value);
}
public static Boolean GetIsBubbleSource(UIElement element)
{
return (Boolean)element.GetValue(IsBubbleSourceProperty);
}
Вы также можете использовать стандартный формат свойств, а не Set/Get построить. Это одна из тех областей, где WPF имеет прочную конвенцию. Есть три части AttachedProperty
(или любые DependencyProperty
). Первый - это регистрация свойства с DependencyProperty.RegisterAttached
, а возвращаемое значение должно быть установлено на общедоступную статическую переменную с именем [Свойство Name]. Во-вторых, первый аргумент при регистрации вашей собственности должен быть «[Property Name]». И третий метод Get/Set, который вы будете использовать для взаимодействия с внешним миром, который должен называться Get [Property Name], Set [Property Name].
Если вы настроили его в соответствии с соглашением, WPF признает, что эти два устройства подключены и должны позволить вам использовать свойство, как вы ожидаете.
вы можете поделиться фрагментом кода ...? –