UserControl makes significant efforts to hide the Text property. From metadata:
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[EditorBrowsable(EditorBrowsableState.Never)]
[Bindable(false)]
public override string Text { get; set; }
You can make this visible by overriding these attributes in your code:
[Browsable(true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
[EditorBrowsable(EditorBrowsableState.Always)]
[Bindable(true)]
public override string Text
{
get { return ContentPresenter.Text; }
set { ContentPresenter.Text = value; }
}
I do not promise that it is enough to make it work, but it probably is.