diff options
author | Pawel Andruszkiewicz <p.andruszkie@samsung.com> | 2017-04-24 10:23:40 +0200 |
---|---|---|
committer | Pawel Andruszkiewicz <p.andruszkie@samsung.com> | 2017-04-24 12:21:09 +0200 |
commit | 9104f5326245cb7afcff443842ad7dee9c9fe049 (patch) | |
tree | e0895379d4aa4f69e4020f275732aa2ce527488b | |
parent | b7be2f741c4f96ecf1fb614e851a54d7358d8c02 (diff) | |
download | xamarin-forms-9104f5326245cb7afcff443842ad7dee9c9fe049.tar.gz xamarin-forms-9104f5326245cb7afcff443842ad7dee9c9fe049.tar.bz2 xamarin-forms-9104f5326245cb7afcff443842ad7dee9c9fe049.zip |
Update header/footer in response to HeaderElement/FooterElement notifications
This approach allows to register only one handler per header/footer,
covers both Header/Footer and HeaderTemplate/FooterTemplate cases,
while handlers are called when elements are ready, so there's no
need for an awkward call to Device.StartTimer().
Change-Id: I16c2943e20d93efeab409e8999ce7e72105aa79a
Signed-off-by: Pawel Andruszkiewicz <p.andruszkie@samsung.com>
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/ListViewRenderer.cs | 44 |
1 files changed, 4 insertions, 40 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/ListViewRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/ListViewRenderer.cs index d2b325af..fff21794 100644 --- a/Xamarin.Forms.Platform.Tizen/Renderers/ListViewRenderer.cs +++ b/Xamarin.Forms.Platform.Tizen/Renderers/ListViewRenderer.cs @@ -59,12 +59,10 @@ namespace Xamarin.Forms.Platform.Tizen RegisterPropertyHandler(ListView.IsGroupingEnabledProperty, UpdateIsGroupingEnabled); RegisterPropertyHandler(ListView.HasUnevenRowsProperty, UpdateHasUnevenRows); RegisterPropertyHandler(ListView.RowHeightProperty, UpdateRowHeight); - RegisterPropertyHandler(ListView.HeaderProperty, UpdateHeader); RegisterPropertyHandler(ListView.SelectedItemProperty, UpdateSelectedItem); - RegisterPropertyHandler(ListView.FooterProperty, UpdateFooter); RegisterPropertyHandler(ListView.ItemsSourceProperty, UpdateSource); - RegisterPropertyHandler(ListView.FooterTemplateProperty, UpdateFooter); - RegisterPropertyHandler(ListView.HeaderTemplateProperty, UpdateHeader); + RegisterPropertyHandler("HeaderElement", UpdateHeader); + RegisterPropertyHandler("FooterElement", UpdateFooter); } /// <summary> @@ -327,24 +325,7 @@ namespace Xamarin.Forms.Platform.Tizen /// </summary> void UpdateHeader() { - if (Element.Header == null) - { - Control.SetHeader(null); - return; - } - - if (((IListViewController)Element).HeaderElement == null) - { - Device.StartTimer(new TimeSpan(0), () => - { - Control.SetHeader(((IListViewController)Element).HeaderElement as VisualElement); - return false; - }); - } - else - { - Control.SetHeader(((IListViewController)Element).HeaderElement as VisualElement); - } + Control.SetHeader(((IListViewController)Element).HeaderElement as VisualElement); } /// <summary> @@ -352,24 +333,7 @@ namespace Xamarin.Forms.Platform.Tizen /// </summary> void UpdateFooter() { - if (Element.Footer == null) - { - Control.SetFooter(null); - return; - } - - if (((IListViewController)Element).FooterElement == null) - { - Device.StartTimer(new TimeSpan(0), () => - { - Control.SetFooter(((IListViewController)Element).FooterElement as VisualElement); - return false; - }); - } - else - { - Control.SetFooter(((IListViewController)Element).FooterElement as VisualElement); - } + Control.SetFooter(((IListViewController)Element).FooterElement as VisualElement); } /// <summary> |