UserControl Dependency Property design time

Try using FrameworkPropertyMetadata instead of PropertyMetadata, specifying AffectsRender like below, then restart Visual Studio:

public static readonly DependencyProperty TextProperty =
    DependencyProperty.Register("Text", typeof(string), typeof(MyButton),
        new FrameworkPropertyMetadata(string.Empty,
            FrameworkPropertyMetadataOptions.AffectsRender));

MSDN Documentation about FrameworkPropertyMetadataOptions.AffectsRender says

Some aspect of rendering or layout composition (other than measure or arrange) is affected by value changes to this dependency property.

For other cases, there are options like AffectsMeasure, AffectsArrange, etc.