m_scencectllist = new List<UserControl>();
foreach (Scence temp in m_scencelist) {
UserControl tempctl = new UserControl();
tempctl.Margin = new Thickness(15, 15, 15, 15);
tempctl.Content = temp;
// ScenceTemplate里有TextBlock,Button,它是一个DataTemplate
tempctl.ContentTemplate = (System.Windows.DataTemplate)FindResource("ScenceTemplate");
// 下面这行是为整个模板都添加了事件,即点击TextBlock也会触发,这样不好,可不可以只为
//ScenceTemplate里边的按钮添加事件,
tempctl.MouseLeftButtonUp += new MouseButtonEventHandler(scencectl_MouseLeftButtonUp);
tempctl.MouseDoubleClick += new MouseButtonEventHandler(scencectl_MouseDoubleClick);
m_scencectllist.Add(tempctl);
}
------解决思路----------------------
你这个不是DataTemplate, 是UserControl啊
在WPF中,MVVM模式中的Command绑定早已很好的解决UserControl中的事件触发问题
------解决思路----------------------
http://stackoverflow.com/questions/92100/is-it-possible-to-set-code-behind-a-resource-dictionary-in-wpf-for-event-handlin