使用wpf添加或删除inkCanvas子节点的事件名称

时间:2011-05-10 14:30:24

标签: wpf events

我的项目中有一个Inkcanvas(myPaint) 从InkCanvas添加或删除子项(UiElement)的事件名称是什么。例如,我想处理此事件:myInkCanvas.Children.remove(myRectangle)或此示例: myInkCanvas.Children.Add(myRectangle)

2 个答案:

答案 0 :(得分:1)

当在Children集合中添加或删除元素时,没有可以侦听的事件被触发。有一个被调用的虚拟保护方法,您可以使用它,称为OnVisualChildrenChanged

这与Children集合没有直接关联,因为元素可以添加/删除与之分离的视觉效果。但是对于InkCanvas来说,它可能是安全的。

所以你要使用类似的东西:

public class MyInkCanvas : InkCanvas {
    protected override void OnVisualChildrenChanged(DependencyObject visualAdded, DependencyObject visualRemoved) {
        // TODO: Raise event or do something
        base.OnVisualChildrenChanged(visualAdded, visualRemoved);
    }
}

答案 1 :(得分:-1)

你到底需要什么?您可以使用StrokeCollected事件吗?