当前位置: 代码迷 >> .NET组件控件 >> 怎么为DataTemplate子控件添加事件
  详细解决方案

怎么为DataTemplate子控件添加事件

热度:97   发布时间:2016-05-04 23:19:23.0
如何为DataTemplate子控件添加事件
   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
  相关解决方案