2f32486276bedb06ea85453386ab91fec5dcf9a2
[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 }