简体   繁体   English

检查Canvas Child是否存在:按标签

[英]Check if Canvas Child exist: by tag

How can I can check by tag if a Canvas child exists? 我如何通过标签检查Canvas子项是否存在?

For example I want to know if in my Canvas (canvas1) there exists a child that has tag "p". 例如,我想知道在我的Canvas (canvas1)中是否存在一个带有标签“ p”的孩子。

How can I can check by tag if a canvas child exist? 我如何才能通过标签检查画布子项是否存在?

So I suppose a bool value is what you want 所以我想布尔值就是你想要的

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

I used (x.Tag == null ? "" : x.Tag.ToString()) == "p") just to be sure that tag property is not null. 我使用(x.Tag == null ? "" : x.Tag.ToString()) == "p")只是为了确保tag属性不为null。

OR 要么

If you want the Element then 如果您想要元素,那么

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;
            });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM