检查画布子项是否存在:按标记

本文关键字:存在 是否 检查 | 更新日期: 2023-09-27 18:35:48

如何通过标签检查是否存在Canvas子项?

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

检查画布子项是否存在:按标记

如何通过标记检查画布子项是否存在?

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

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();
            object mytag;
            DrawingCanvas.Children.Select((elem) =>
            {
                FrameworkElement fe = elem as FrameworkElement;
                if (fe != null)
                {
                    return fe.Tag == mytag;
                }
                else
                    return false;
            });