Чего то понять не могу, почему не срабатывает.
В App в словаре ресурсов объявлен ContentControl:
<ControlTemplate x:Key="MyControlTemplate" TargetType="{x:Type ContentControl}">
В главном окне пытаюсь применить
<ContentControl Template="{StaticResource MyControlTemplate}" />
Компилируется, но при старте вылетает ошибка, что статический ресурс не найден. Где ошибаюсь
Убедитесь в том, что декларирование темплейта в файле ресурсов идёт перед его обращением.

Думаю дело в этом.
«История жизни – это, по существу, развитие сознания, которое завуалировано морфологией.» Пьер Тейяр де Шарден
Здравствуйте, Rival, Вы писали:
R>Убедитесь в том, что декларирование темплейта в файле ресурсов идёт перед его обращением.
R>Думаю дело в этом.
В принципе да, дело было в этом, только как изменить этот порядок не совсем понимаю. Сейчас решил проблемку так, что в обработчике событя Loaded нахожу темплейт и цепляею его.
Но как-то криво
можно сделать статический конструктор:
static MyControl()
{
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(MyControl),
new FrameworkPropertyMetadata(
typeof(MyControl)));
}
}
ну и в файле ресурса стиль, ключ которого тип вашего контрола.
Или сделать статический класс с полем и выставлять темплейт оттуда
<ContentControl Template="{x:Static someNameSpace:DataClass.MyTemplate}" />
в коде можно так
public static DataClass
{
static ControlTemplate _myTemplate;
static public ControlTemplate MyTemplate
{
get
{
if (myTemplate == null)
myTemplate = (DataTemplate)Resources["MyControlTemplate"];
return myTemplate;
}
}
}
«История жизни – это, по существу, развитие сознания, которое завуалировано морфологией.» Пьер Тейяр де Шарден