public override object ProvideValue(IServiceProvider serviceProvider) { var accessText = new AccessText(); var markupExtension = Text as MarkupExtension; if (markupExtension != null) { accessText.SetValue(AccessText.TextProperty, markupExtension.ProvideValue(serviceProvider)); } else { accessText.SetValue(AccessText.TextProperty, Text); } return(accessText); }