Кто-нибудь знает, почему я не могу установить событие в шаблоне управления ??
На самом деле, вы можете ... Но где вы ожидаете, что будет определен обработчик событий? У ResourceDictionary
нет кода, поэтому нет места для кода обработчика событий. Однако вы можете создать класс для своего словаря ресурсов и связать его с атрибутом x:Class
:
<ResourceDictionary x:Class="MyNamespace.MyClass"
xmlns=...>
<ControlTemplate x:Key="DefaultTemplate" TargetType="ContentControl">
<StackPanel Loaded="StackPanel_Loaded">
</StackPanel>
</ControlTemplate>
C # код:
namespace MyNamespace
{
public partial class MyClass : ResourceDictionary
{
void StackPanel_Loaded(object sender, RoutedEventArgs e)
{
...
}
}
}
(вам также может понадобиться изменить действие сборки словаря ресурсов на «Страница», точно не помню ...)