1

Canvas如果孩子存在,如何通过标签检查?

例如,我想知道在我的Canvas(canvas1)中是否存在一个带有标签“p”的孩子。

4

2 回答 2

6

如果存在画布子项,我如何通过标签检查?

所以我想一个布尔值是你想要的

bool result = mycanvas.Children.Cast<FrameworkElement>()
                      .Any(x => x.Tag != null && x.Tag.ToString() == "p");

我过去(x.Tag == null ? "" : x.Tag.ToString()) == "p")只是为了确保标签属性不为空。

或者

如果你想要元素,那么

FrameworkElement result = mycanvas.Children.Cast<FrameworkElement>()
                                           .Where(x => x.Tag != null && 
                                                  x.Tag.ToString() == "p")
                                           .First();
于 2012-05-31T12:37:41.420 回答
3
            object mytag;
            DrawingCanvas.Children.Select((elem) =>
            {
                FrameworkElement fe = elem as FrameworkElement;
                if (fe != null)
                {
                    return fe.Tag == mytag;
                }
                else
                    return false;
            });
于 2012-05-31T12:38:21.403 回答