void UpdateContentTemplateOnContainer (DependencyObject element, object item)
{
if (element == item)
return;
ContentPresenter presenter = element as ContentPresenter;
ContentControl control = element as ContentControl;
DataTemplate template = null;
if (!(item is UIElement)) {
template = ItemTemplate;
if (template == null)
template = DisplayMemberTemplate;
}
if (presenter != null) {
presenter.ContentTemplate = template;
presenter.Content = item;
} else if (control != null) {
control.ContentTemplate = template;
control.Content = item;
}
}