private static void PreferenceGroupItemsSourceChanged(PreferenceGroup preference, AttachedMemberChangedEventArgs<IEnumerable> args) { var sourceGenerator = preference.GetBindingMemberValue(AttachedMembers.PreferenceGroup.ItemsSourceGenerator); if (sourceGenerator == null) { sourceGenerator = new PreferenceItemsSourceGenerator(preference); preference.SetBindingMemberValue(AttachedMembers.PreferenceGroup.ItemsSourceGenerator, sourceGenerator); } sourceGenerator.SetItemsSource(args.NewValue); }
private static void PreferenceGroupItemsSourceChanged(PreferenceGroup preference, AttachedMemberChangedEventArgs <IEnumerable> args) { var sourceGenerator = preference.GetBindingMemberValue(AttachedMembers.PreferenceGroup.ItemsSourceGenerator); if (sourceGenerator == null) { sourceGenerator = new PreferenceItemsSourceGenerator(preference); preference.SetBindingMemberValue(AttachedMembers.PreferenceGroup.ItemsSourceGenerator, sourceGenerator); } sourceGenerator.SetItemsSource(args.NewValue); }
private object SelectTemplate(int index) { var item = GetItem(index); var selector = _preference.GetBindingMemberValue(AttachedMembers.PreferenceGroup.ItemTemplateSelector); if (selector != null) { var template = selector.SelectTemplate(item, _preference); template?.SetDataContext(item); item = template; } var preference = item as Preference; if (preference != null) { preference.SetBindingMemberValue(AttachedMembers.Object.Parent, _preference); preference.Order = index; } return(item); }