summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPawel Andruszkiewicz <p.andruszkie@samsung.com>2017-04-24 10:23:40 +0200
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>2017-04-24 12:21:09 +0200
commit9104f5326245cb7afcff443842ad7dee9c9fe049 (patch)
treee0895379d4aa4f69e4020f275732aa2ce527488b
parentb7be2f741c4f96ecf1fb614e851a54d7358d8c02 (diff)
downloadxamarin-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.cs44
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>