代码生成的形状控件的事件无法冒泡到父/祖父控件中

     有时,利用程序生成的WPF的UI控件对象,其事件无法冒泡到其背后的父/祖父控件上。比如以下代码,在代码中生成了一系列的Reatangle对象,但是rect对象的事件无法冒泡到myGridControl的上级控件上。

public void UpdateRects(IEnumerable points)
        {           foreach(var p in points)

             {

                  System.Windows.Controls.Rectange rect=new System.Windows.Controls.Rectange(){.......}

                  myGridControl.Children.Add(rect);   //myGridControl是Grid的Name,此处将rect对象添加为myGridControl的子对象

             }
        }

 

解决方法之一是不要采用在代码中生成这些UI控件,而是预先在XAML中预先放置一些这种Rectangle,然后在代码中根据Rectangle的名字来操控其属性,实现其位置的移动、显示属性的改变、隐藏或显示等特征。但是当需要大量这种UI时,预先放置就不可以了。。

你可能感兴趣的:(wpf开发)