diff options
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen')
-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; |