2 using Tizen.NUI.Internals;
3 using Tizen.NUI.Binding;
5 namespace Tizen.NUI.Xaml
7 [ContentProperty("Path")]
8 [AcceptEmptyServiceProvider]
9 internal sealed class BindingExtension : IMarkupExtension<BindingBase>
11 public BindingExtension()
13 Mode = BindingMode.Default;
14 Path = Tizen.NUI.Binding.Binding.SelfPath;
17 public string Path { get; set; }
19 public BindingMode Mode { get; set; }
21 public IValueConverter Converter { get; set; }
23 public object ConverterParameter { get; set; }
25 public string StringFormat { get; set; }
27 public object Source { get; set; }
29 public string UpdateSourceEventName { get; set; }
31 public TypedBindingBase TypedBinding { get; set; }
33 BindingBase IMarkupExtension<BindingBase>.ProvideValue(IServiceProvider serviceProvider)
35 if (TypedBinding == null)
36 return new Tizen.NUI.Binding.Binding(Path, Mode, Converter, ConverterParameter, StringFormat, Source) { UpdateSourceEventName = UpdateSourceEventName };
38 TypedBinding.Mode = Mode;
39 TypedBinding.Converter = Converter;
40 TypedBinding.ConverterParameter = ConverterParameter;
41 TypedBinding.StringFormat = StringFormat;
42 TypedBinding.Source = Source;
43 TypedBinding.UpdateSourceEventName = UpdateSourceEventName;
47 object IMarkupExtension.ProvideValue(IServiceProvider serviceProvider)
49 return (this as IMarkupExtension<BindingBase>).ProvideValue(serviceProvider);