Я пытаюсь привязать значение данных к присоединенному свойству. Однако, это просто не заставляет это работать.
Я определил это как:
public static class MyClass
{
public static readonly DependencyProperty MyPropertyProperty =
DependencyProperty.RegisterAttached("MyProperty", typeof(string),
typeof(MyClass), new PropertyMetadata(null));
public static string GetMyProperty(DependencyObject d)
{
return (string)d.GetValue(MyPropertyProperty);
}
public static void SetMyProperty(DependencyObject d, string value)
{
d.SetValue(MyPropertyProperty, value);
}
}
Теперь используемый мной XAML выглядит примерно так:
<TextBlock local:MyClass.MyProperty="{Binding MyStringValue}" />
Я установил точку останова в методе SetMyProperty, но он никогда не вызывается. Это не вызывает никакой ошибки, просто никогда не устанавливается и не запрашивается. Однако, если я изменю значение в XAML на фиксированную строку, оно будет вызвано:
<TextBlock local:MyClass.MyProperty="foobar" />
Что мне не хватает?
Примечание: приведенный выше пример является минимальной версией, которая демонстрирует такое же странное поведение. Моя фактическая реализация имеет больше смысла, чем это, конечно.
Заранее спасибо за любую подсказку!