diff options
| author | jpbruyere <jp.bruyere@hotmail.com> | 2016-02-09 18:48:58 +0100 |
|---|---|---|
| committer | jpbruyere <jp.bruyere@hotmail.com> | 2016-02-09 18:49:44 +0100 |
| commit | 5af8e3e2a4676c38439d1e0d29a8f08163d85143 (patch) | |
| tree | 4d334cd902f8b932e176e2cdbc92a7910f640e7d /src/CompilerServices | |
| parent | cf8fa60c28f4ad16cd3b82d2b74154dfc4aab532 (diff) | |
LogicalParent use in all bindings; Resolved boolean in Binding class to avoid multiple event registration;
resoved all tree in templated control, to allow complex bindings outside template content
Diffstat (limited to 'src/CompilerServices')
| -rw-r--r-- | src/CompilerServices/CompilerServices.cs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/CompilerServices/CompilerServices.cs b/src/CompilerServices/CompilerServices.cs index b640a628..4c5da03d 100644 --- a/src/CompilerServices/CompilerServices.cs +++ b/src/CompilerServices/CompilerServices.cs @@ -60,7 +60,7 @@ namespace Crow public string DynMethodId { get { return dynMethodId; } } - + public bool Resolved = false; public MemberReference Source; public MemberReference Target; @@ -103,7 +103,7 @@ namespace Crow if (tmp == null) return false; if (bindingExp [ptr] == "..") - tmp = tmp.Parent as ILayoutable; + tmp = tmp.LogicalParent; else if (bindingExp [ptr] == ".") { if (ptr > 0) throw new Exception ("Syntax error in binding, './' may only appear in first position"); @@ -143,6 +143,11 @@ namespace Crow { Target = null; dynMethodId = ""; + Resolved = false; + } + public override string ToString () + { + return string.Format ("[Binding: {0}.{1} <= {2}]", Source.Instance, Source.Member.Name, Expression); } } |