Во-первых, вам не нужно INotifyPropertyChanged
, если вы просто хотите привязать к DependencyProperty
.это было бы избыточно.
Вам также не нужно устанавливать DataContext
, это для сценария ViewModel.(просматривайте шаблон MVVM всякий раз, когда у вас есть шанс).
Теперь ваше объявление свойства зависимости неверно, оно должно быть:
public string MyTitle
{
get { return (string)GetValue(MyTitleProperty); }
set { SetValue(MyTitleProperty, value); }
}
// Using a DependencyProperty as the backing store for MyTitle. This enables animation, styling, binding, etc...
public static readonly DependencyProperty MyTitleProperty =
DependencyProperty.Register("MyTitle", typeof(string), typeof(MainWindow), new UIPropertyMetadata(null));
Обратите внимание на UIPropertyMetadata
: оно устанавливаетзначение по умолчанию для вашего DP.
И, наконец, в вашем XAML:
<Window ...
Title="{Binding MyTitle, RelativeSource={RelativeSource Mode=Self}}"
... />