HB является верным значением Application.Current.MainWindow
, равным null
во время разработки.Вот лучший способ получить ресурс по имени:
public override DataTemplate SelectTemplate( object item, DependencyObject container ) {
var element = container as FrameworkElement;
if ( element != null ) {
var template = element.TryFindResource( "Temp1" ) as DataTemplate;
if ( template != null ) {
return template;
}
}
return base.SelectTemplate( item, container );
}
Однако другие части вашего кода все еще неполны, поэтому я надеюсь, что вы находитесь в середине этого процесса.Например, у вашего DataTemplate
должны быть привязки, а не жестко заданные значения.