[NUI] Split NUI Assemblies (#865)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI.Xaml / src / public / XamlBinding / BindingMode.cs
1 using System.ComponentModel;
2
3 namespace Tizen.NUI.XamlBinding
4 {
5     /// <summary>
6     /// The direction of changes propagation for bindings.
7     /// </summary>
8     /// <since_tizen> 6 </since_tizen>
9     /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
10     [EditorBrowsable(EditorBrowsableState.Never)]
11     public enum BindingMode
12     {
13         /// <summary>
14         /// When used in Bindings, indicates that the Binding should use the DefaultBindingMode. When used in BindableProperty declaration, defaults to BindingMode.OneWay.
15         /// </summary>
16         Default,
17
18         /// <summary>
19         /// Indicates that the binding should propagates changes from source (usually the View Model) to target (the BindableObject) in both directions.
20         /// </summary>
21         TwoWay,
22
23         /// <summary>
24         /// Indicates that the binding should only propagate changes from source (usually the View Model) to target (the BindableObject). This is the default mode for most BindableProperty values.
25         /// </summary>
26         OneWay,
27
28         /// <summary>
29         /// Indicates that the binding should only propagate changes from target (the BindableObject) to source (usually the View Model). This is mainly used for read-only BindableProperty values.
30         /// </summary>
31         OneWayToSource,
32
33         /// <summary>
34         /// Indicates that the binding will be applied only when the binding context changes and the value will not be monitored for changes with INotifyPropertyChanged.
35         /// </summary>
36         OneTime,
37     }
38 }