4 using System.Windows.Markup;
7 namespace SiliconStudio.Presentation.MarkupExtensions
9 [ContentProperty(
"Name")]
22 [ConstructorArgument(
"name")]
23 public string Name {
get; set; }
25 public override object ProvideValue(IServiceProvider serviceProvider)
27 if (serviceProvider == null)
28 throw new ArgumentNullException(
"serviceProvider");
53 IXamlNameResolver service = serviceProvider.GetService(typeof(IXamlNameResolver)) as IXamlNameResolver;
57 if (
string.IsNullOrWhiteSpace(Name))
58 throw new InvalidOperationException(
"Reference markup extension must be provided a name.");
60 object fixupToken = service.Resolve(Name);
62 if (fixupToken == null)
63 fixupToken = service.GetFixupToken(
new [] { Name },
true);
override object ProvideValue(IServiceProvider serviceProvider)