/// <summary> /// /// </summary> /// <param name="obj"></param> /// <param name="oldVal"></param> /// <param name="newVal"></param> private static void OnItemTemplateChanged(BindableObject obj, object oldVal, object newVal) { AdvancedStackList layout = obj as AdvancedStackList; if (layout != null && layout.ItemsSource != null) { layout.FillLayout(); } }
/// <summary> /// /// </summary> /// <param name="obj"></param> /// <param name="oldVal"></param> /// <param name="newVal"></param> private static void OnItemsSourceChanged(BindableObject obj, object oldVal, object newVal) { AdvancedStackList layout = obj as AdvancedStackList; if (layout.ItemTemplate != null) { layout.FillLayout(); if (newVal != null && newVal is INotifyCollectionChanged) { // // TODO: unsubscribe from the event when current // if (oldVal != null && oldVal is INotifyCollectionChanged) { ((INotifyCollectionChanged)newVal).CollectionChanged -= layout.StackList_CollectionChanged; } ((INotifyCollectionChanged)newVal).CollectionChanged += layout.StackList_CollectionChanged; } } }