diff options
author | Pawel Andruszkiewicz <p.andruszkie@samsung.com> | 2017-06-12 10:35:25 +0200 |
---|---|---|
committer | Kangho Hur <kangho.hur@samsung.com> | 2017-10-23 13:34:37 +0900 |
commit | 3ea1834e6f6771dacead4d86bad3c8d64bd5f8a2 (patch) | |
tree | 81187906ba88e6ed80522f6a3db9485f9845e030 | |
parent | 66a992c24e304293ea59a465c04e25d78593f47d (diff) | |
download | xamarin-forms-3ea1834e6f6771dacead4d86bad3c8d64bd5f8a2.tar.gz xamarin-forms-3ea1834e6f6771dacead4d86bad3c8d64bd5f8a2.tar.bz2 xamarin-forms-3ea1834e6f6771dacead4d86bad3c8d64bd5f8a2.zip |
Initialize Entry/Editor with a single batch update
Change-Id: Ibc7f697dfb51992040c8dbe476065ea884e33a49
Signed-off-by: Pawel Andruszkiewicz <p.andruszkie@samsung.com>
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Native/Entry.cs | 12 | ||||
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/EditorRenderer.cs | 8 | ||||
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/EntryRenderer.cs | 8 |
3 files changed, 26 insertions, 2 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Native/Entry.cs b/Xamarin.Forms.Platform.Tizen/Native/Entry.cs index d6f3f454..8276aaa2 100644 --- a/Xamarin.Forms.Platform.Tizen/Native/Entry.cs +++ b/Xamarin.Forms.Platform.Tizen/Native/Entry.cs @@ -10,7 +10,7 @@ namespace Xamarin.Forms.Platform.Tizen.Native /// Extends the Entry control, providing basic formatting features, /// i.e. font color, size, placeholder. /// </summary> - public class Entry : EEntry, IMeasurable + public class Entry : EEntry, IMeasurable, IBatchable { /// <summary> /// Holds the formatted text of the entry. @@ -342,12 +342,20 @@ namespace Xamarin.Forms.Platform.Tizen.Native } } + void IBatchable.OnBatchCommitted() + { + ApplyTextAndStyle(); + } + /// <summary> /// Applies entry's text and its style. /// </summary> void ApplyTextAndStyle() { - SetInternalTextAndStyle(_span.GetDecoratedText(), _span.GetStyle()); + if (!this.IsBatched()) + { + SetInternalTextAndStyle(_span.GetDecoratedText(), _span.GetStyle()); + } } /// <summary> diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/EditorRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/EditorRenderer.cs index b904b7da..f37566aa 100644 --- a/Xamarin.Forms.Platform.Tizen/Renderers/EditorRenderer.cs +++ b/Xamarin.Forms.Platform.Tizen/Renderers/EditorRenderer.cs @@ -1,4 +1,5 @@ using System; +using Xamarin.Forms.Platform.Tizen.Native; using EColor = ElmSharp.Color; namespace Xamarin.Forms.Platform.Tizen @@ -37,11 +38,18 @@ namespace Xamarin.Forms.Platform.Tizen { Control.TextChanged += TextChanged; Control.Unfocused += Completed; + + Control.BatchBegin(); } base.OnElementChanged(e); } + protected override void OnElementReady() + { + Control?.BatchCommit(); + } + void TextChanged(object sender, EventArgs e) { Element.Text = ((Native.Entry)sender).Text; diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/EntryRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/EntryRenderer.cs index 3274ec3e..e54e7399 100644 --- a/Xamarin.Forms.Platform.Tizen/Renderers/EntryRenderer.cs +++ b/Xamarin.Forms.Platform.Tizen/Renderers/EntryRenderer.cs @@ -1,4 +1,5 @@ using System; +using Xamarin.Forms.Platform.Tizen.Native; using Specific = Xamarin.Forms.PlatformConfiguration.TizenSpecific.Entry; namespace Xamarin.Forms.Platform.Tizen @@ -47,6 +48,8 @@ namespace Xamarin.Forms.Platform.Tizen { Control.TextChanged += EntryChangedHandler; Control.Activated += EntryCompletedHandler; + + Control.BatchBegin(); } base.OnElementChanged(e); @@ -63,6 +66,11 @@ namespace Xamarin.Forms.Platform.Tizen base.Dispose(disposing); } + protected override void OnElementReady() + { + Control?.BatchCommit(); + } + void EntryChangedHandler(object sender, EventArgs e) { Element.Text = Control.Text; |