有人知道为什么我不能在控件模板上设置事件吗??
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)
{
...
}
}
}
(您可能还需要将资源字典的构建操作更改为“Page”,我不太清楚……)