internal void UserElementFactory(object newValue) { m_itemTemplateWrapper = newValue as IElementFactoryShim; if (m_itemTemplateWrapper == null) { // ItemTemplate set does not implement IElementFactoryShim. We also want to support DataTemplate. var dataTemplate = newValue as DataTemplate; if (dataTemplate != null) { m_itemTemplateWrapper = new ItemTemplateWrapper(dataTemplate); } } }
internal void UserElementFactory(object newValue) { m_itemTemplateWrapper = newValue as IElementFactoryShim; if (m_itemTemplateWrapper == null) { // ItemTemplate set does not implement IElementFactoryShim. We also // want to support DataTemplate and DataTemplateSelectors automagically. if (newValue is DataTemplate dataTemplate) { m_itemTemplateWrapper = new ItemTemplateWrapper(dataTemplate); } else if (newValue is DataTemplateSelector selector) { m_itemTemplateWrapper = new ItemTemplateWrapper(selector); } } navigationViewItemPool = new List <NavigationViewItem>(); }