d06f2420d743a6b0ea93b01948bf189f04b0ff62
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / internal / Xaml / MarkupExtensions / TemplateBindingExtension.cs
1 using System;
2 using Tizen.NUI.Binding;
3
4 namespace Tizen.NUI.Xaml
5 {
6     [ContentProperty("Path")]
7     [AcceptEmptyServiceProvider]
8     internal sealed class TemplateBindingExtension : IMarkupExtension<BindingBase>
9     {
10         internal TemplateBindingExtension()
11         {
12             Mode = BindingMode.Default;
13             Path = Tizen.NUI.Binding.Binding.SelfPath;
14         }
15
16         public string Path { get; set; }
17
18         public BindingMode Mode { get; set; }
19
20         public IValueConverter Converter { get; set; }
21
22         public object ConverterParameter { get; set; }
23
24         public string StringFormat { get; set; }
25
26         BindingBase IMarkupExtension<BindingBase>.ProvideValue(IServiceProvider serviceProvider)
27         {
28             return new TemplateBinding(Path, Mode, Converter, ConverterParameter, StringFormat);
29         }
30
31         object IMarkupExtension.ProvideValue(IServiceProvider serviceProvider)
32         {
33             return (this as IMarkupExtension<BindingBase>).ProvideValue(serviceProvider);
34         }
35     }
36 }