} // proc AppendTemplate /// <summary>Find template for the specific item.</summary> /// <param name="item">Data item</param> /// <param name="container">Container for the data item</param> /// <returns></returns> public DataTemplate FindTemplate(object item, DependencyObject container) { var scope = new TemplateSelectScope(item, container); return(templates.FirstOrDefault(c => c.SelectTemplate(scope))?.Template); } // func FindTemplate
public bool SelectTemplate(TemplateSelectScope scope) => condition?.Invoke(scope) ?? true;