Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
MultiBinding.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using System.Windows.Data;
4 using System.Windows.Markup;
5 
6 namespace SiliconStudio.Presentation.MarkupExtensions
7 {
8  /// <summary>
9  /// This class extends the <see cref="System.Windows.Data.MultiBinding"/> by providing constructors that allows construction using markup extension.
10  /// </summary>
11  public class MultiBinding : System.Windows.Data.MultiBinding
12  {
13  /// <summary>
14  /// Initializes a new instance of the <see cref="MultiBinding"/> class.
15  /// </summary>
16  /// <param name="binding1">The first binding.</param>
17  /// <param name="binding2">The second binding.</param>
18  public MultiBinding(Binding binding1, Binding binding2)
19  : this(binding1, binding2, null, null, null, null, null, null)
20  {
21  }
22 
23  /// <summary>
24  /// Initializes a new instance of the <see cref="MultiBinding"/> class.
25  /// </summary>
26  /// <param name="binding1">The first binding.</param>
27  /// <param name="binding2">The second binding.</param>
28  /// <param name="binding3">The third binding.</param>
29  public MultiBinding(Binding binding1, Binding binding2, Binding binding3)
30  : this(binding1, binding2, binding3, null, null, null, null, null)
31  {
32  }
33 
34  /// <summary>
35  /// Initializes a new instance of the <see cref="MultiBinding"/> class.
36  /// </summary>
37  /// <param name="binding1">The first binding.</param>
38  /// <param name="binding2">The second binding.</param>
39  /// <param name="binding3">The third binding.</param>
40  /// <param name="binding4">The fourth binding.</param>
41  public MultiBinding(Binding binding1, Binding binding2, Binding binding3, Binding binding4)
42  : this(binding1, binding2, binding3, binding4, null, null, null, null)
43  {
44  }
45 
46  /// <summary>
47  /// Initializes a new instance of the <see cref="MultiBinding"/> class.
48  /// </summary>
49  /// <param name="binding1">The first binding.</param>
50  /// <param name="binding2">The second binding.</param>
51  /// <param name="binding3">The third binding.</param>
52  /// <param name="binding4">The fourth binding.</param>
53  /// <param name="binding5">The fifth binding.</param>
54  public MultiBinding(Binding binding1, Binding binding2, Binding binding3, Binding binding4, Binding binding5)
55  : this(binding1, binding2, binding3, binding4, binding5, null, null, null)
56  {
57  }
58 
59  /// <summary>
60  /// Initializes a new instance of the <see cref="MultiBinding"/> class.
61  /// </summary>
62  /// <param name="binding1">The first binding.</param>
63  /// <param name="binding2">The second binding.</param>
64  /// <param name="binding3">The third binding.</param>
65  /// <param name="binding4">The fourth binding.</param>
66  /// <param name="binding5">The fifth binding.</param>
67  /// <param name="binding6">The sixth binding.</param>
68  public MultiBinding(Binding binding1, Binding binding2, Binding binding3, Binding binding4, Binding binding5, Binding binding6)
69  : this(binding1, binding2, binding3, binding4, binding5, binding6, null, null)
70  {
71  }
72 
73  /// <summary>
74  /// Initializes a new instance of the <see cref="MultiBinding"/> class.
75  /// </summary>
76  /// <param name="binding1">The first binding.</param>
77  /// <param name="binding2">The second binding.</param>
78  /// <param name="binding3">The third binding.</param>
79  /// <param name="binding4">The fourth binding.</param>
80  /// <param name="binding5">The fifth binding.</param>
81  /// <param name="binding6">The sixth binding.</param>
82  /// <param name="binding7">The seventh binding.</param>
83  public MultiBinding(Binding binding1, Binding binding2, Binding binding3, Binding binding4, Binding binding5, Binding binding6, Binding binding7)
84  : this(binding1, binding2, binding3, binding4, binding5, binding6, binding7, null)
85  {
86  }
87 
88  /// <summary>
89  /// Initializes a new instance of the <see cref="MultiBinding"/> class.
90  /// </summary>
91  /// <param name="binding1">The first binding.</param>
92  /// <param name="binding2">The second binding.</param>
93  /// <param name="binding3">The third binding.</param>
94  /// <param name="binding4">The fourth binding.</param>
95  /// <param name="binding5">The fifth binding.</param>
96  /// <param name="binding6">The sixth binding.</param>
97  /// <param name="binding7">The seventh binding.</param>
98  /// <param name="binding8">The eighth binding.</param>
99  public MultiBinding(Binding binding1, Binding binding2, Binding binding3, Binding binding4, Binding binding5, Binding binding6, Binding binding7, Binding binding8)
100  {
101  var addChild = (IAddChild)this;
102  if (binding1 != null) addChild.AddChild(binding1);
103  if (binding2 != null) addChild.AddChild(binding2);
104  if (binding3 != null) addChild.AddChild(binding3);
105  if (binding4 != null) addChild.AddChild(binding4);
106  if (binding5 != null) addChild.AddChild(binding5);
107  if (binding6 != null) addChild.AddChild(binding6);
108  if (binding7 != null) addChild.AddChild(binding7);
109  if (binding8 != null) addChild.AddChild(binding8);
110  }
111  }
112 }
This class extends the System.Windows.Data.MultiBinding by providing constructors that allows constru...
Definition: MultiBinding.cs:11
MultiBinding(Binding binding1, Binding binding2, Binding binding3)
Initializes a new instance of the MultiBinding class.
Definition: MultiBinding.cs:29
MultiBinding(Binding binding1, Binding binding2, Binding binding3, Binding binding4, Binding binding5, Binding binding6, Binding binding7, Binding binding8)
Initializes a new instance of the MultiBinding class.
Definition: MultiBinding.cs:99
MultiBinding(Binding binding1, Binding binding2, Binding binding3, Binding binding4)
Initializes a new instance of the MultiBinding class.
Definition: MultiBinding.cs:41
MultiBinding(Binding binding1, Binding binding2, Binding binding3, Binding binding4, Binding binding5, Binding binding6, Binding binding7)
Initializes a new instance of the MultiBinding class.
Definition: MultiBinding.cs:83
MultiBinding(Binding binding1, Binding binding2, Binding binding3, Binding binding4, Binding binding5)
Initializes a new instance of the MultiBinding class.
Definition: MultiBinding.cs:54
MultiBinding(Binding binding1, Binding binding2, Binding binding3, Binding binding4, Binding binding5, Binding binding6)
Initializes a new instance of the MultiBinding class.
Definition: MultiBinding.cs:68
MultiBinding(Binding binding1, Binding binding2)
Initializes a new instance of the MultiBinding class.
Definition: MultiBinding.cs:18