Привязки данных WPF, UserControl

Здравствуйте. То ли у меня глаз замылился то ли что … не врублюсь почему я не вижу изменений в контроле?

Прописал свойство:

public partial class ControlBlock : UserControl, INotifyPropertyChanged
    {
        public static readonly DependencyProperty BlockTitleProperty = DependencyProperty.Register("BlockTitle", typeof(string), typeof(ControlBlock), new FrameworkPropertyMetadata("Title"));

        public event PropertyChangedEventHandler PropertyChanged;

        protected void OnPropertyChanged([CallerMemberName] string name = null)
        {
            var handler = this.PropertyChanged;
            handler?.Invoke(this, new PropertyChangedEventArgs(name));
        }

        public string BlockTitle
        {
            get
            {
                return (string)this.GetValue(BlockTitleProperty);
            }
            set
            {
                this.SetValue(BlockTitleProperty, value);
                OnPropertyChanged("BlockTitle");
            }
        }

        public ControlBlock()
        {
            InitializeComponent();
        }

        private void OnButtonsClick(object sender, RoutedEventArgs e)
        {

        }
    }

В коде контрола пытаюсь связать

<TextBlock Text="{Binding BlockTitle}" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center" FontFamily="Verdana" FontWeight="Bold" FontSize="20"/>

Но в design режиме не вижу никаких изменений. Что тут может быть не так то??

А не в design работает?

INotifyPropertyChanged вроде не нужен тут, это надо тем, что будут биндиться к нему.

public static readonly DependencyProperty IsSpinningProperty =
    DependencyProperty.Register(
    "IsSpinning", typeof(Boolean),
    typeof(MyCode)
    );
public bool IsSpinning
{
    get { return (bool)GetValue(IsSpinningProperty); }
    set { SetValue(IsSpinningProperty, value); }
}

Ну ведь у меня также и сделано, но все равно не вижу в дезайне текста в этом поле.

Так а не в design видно?

Не видно где, в окне, где этот UserControl добавлен?
Там значение как задано? Если биндинг к какому-то свойству, то может ему и не присвоено ничего в конструкторе и т.п.?

Вот так переделал:

<TextBlock Text="{Binding BlockTimeText, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:ControlBlock}}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="70"/>

В runtime видно и все меняется а в дезайне пустое окно… и в интернете ничего толкового нету.
И DataContext = this; в конструкторе прописал … (((

Так ведь в параметрах свойства есть дефолтное значение же.

public static readonly DependencyProperty BlockTimeTextProperty = DependencyProperty.Register("BlockTimeText", typeof(string), typeof(ControlBlock), new FrameworkPropertyMetadata("00:00"));

Нашел вот метод FallbackValue=00:00. Вроде показывает в дезайне… типа как константа.

Тут советуют добавить FrameworkPropertyMetadataOptions.AffectsRender и перезапустить VS.
Но мне что-то не помогло.

В основном окне, где контрол добавлен — показывает (без AffectsRender тоже). В самом контроле нет.

Чтобы так работало надо DataContext установить.

DataContext = this;
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
mc:Ignorable="d" 
d:DataContext="{Binding RelativeSource={RelativeSource Self}}"

(или тут может быть можно сразу только в XAML без d:)