Given the following section with special attached Property Title, you would think this would just work. Well it doesn't, you need to handle the attached property manually.

<
local:MySection x:Name="TitleSection" Title="{Binding Name}">

Here is the Property Name in the DataContext in the ViewModel

private string _name;

public string Name
{
get {return _name;}
}


Below is the attached property code for Title:


public String Title
{
get { return (String)GetValue(TitleProperty); }
set
{
SetValue(TitleProperty,
value);
Title_TextBlock.Text = (
value as String).ToUpper();
}
}

Below is the Attached Property of Title defined:
public static readonly DependencyProperty TitleProperty =
DependencyProperty.Register("Title", typeof(String), typeof(DossierSection), new PropertyMetadata(new PropertyChangedCallback(OnTitlePropertyChanged)));


If I handle the PropertyChanged event through the callback and assign the title directly, it forces the update in the XAML:

private
static void OnTitlePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
if ((d is MySection) == false) return;
(d
as MySection).Title = e.NewValue as string;
}

Strangely, even though (d as MySection).Title already seems to have the right value, the view never hears about it, unless you reassign it (even though it is part of the view!)