代碼生成的形狀控件的事件無法冒泡到父/祖父控件中

     有時,利用程序生成的WPF的UI控件對象,其事件無法冒泡到其背後的父/祖父控件上。比如以下代碼,在代碼中生成了一系列的Reatangle對象,但是rect對象的事件無法冒泡到myGridControl的上級控件上。

public void UpdateRects(IEnumerable<Point> 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時,預先放置就不可以了。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章