使用LINQ在WPF canvas中删除控件 [英] Delete control in wpf canvas using LINQ

查看:100
本文介绍了使用LINQ在WPF canvas中删除控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在WPF应用程序中动态创建了一个标签.现在,我想按名称从画布中删除该标签.我如何使用LINQ删除它.

I have dynamically created a label in my WPF Application.Now I want to delete the label from canvas by Name. How can i delete it using LINQ.

推荐答案

从UI对象删除中未使用LINQ.请参阅:
http://en.wikipedia.org/wiki/Language_Integrated_Query [ http://msdn.microsoft.com/en-us/library/vstudio/bb397926.aspx [ ^ ].

按名称删除"看起来不准确.您可以通过Name搜索对象(在这种情况下,这可能是个坏主意),然后从Canvas实例中删除找到的对象.这是一串MSDN帮助页面,显示了如何执行此操作:
http://msdn.microsoft.com/en-us/library/system. windows.controls.canvas.aspx [ ^ ],
http://msdn.microsoft.com/en-us/library/system.windows.controls.panel.children.aspx [ ^ ],
http://msdn.microsoft.com/en-us/library/system. windows.controls.uielementcollection.aspx [ ^ ],
http://msdn.microsoft.com/en-us/library/system.windows.controls.uielementcollection.remove.aspx [ ^ ],
http://msdn.microsoft.com/en-us/library/system.windows.controls.uielementcollection.removeat.aspx [ ^ ].

(很清楚吗?好吧,就像myCanvas.Children.Delete(myUIElement);myCanvas.Children.DeleteAt(myUIElementIndex)一样.就这么简单.)

—SA
LINQ is not used from deletion of UI objects. Please see:
http://en.wikipedia.org/wiki/Language_Integrated_Query[^],
http://msdn.microsoft.com/en-us/library/vstudio/bb397926.aspx[^].

"Delete by Name" does not look accurate. You can search an object by Name (which is probably a pretty bad idea in this case) and remove the found object from the instance of the Canvas. This is a chain of MSDN help pages showing how to do it:
http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.controls.panel.children.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.controls.uielementcollection.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.controls.uielementcollection.remove.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.controls.uielementcollection.removeat.aspx[^].

(Was that clear? OK, this is something like myCanvas.Children.Delete(myUIElement); or myCanvas.Children.DeleteAt(myUIElementIndex). As simple as that.)

—SA


这篇关于使用LINQ在WPF canvas中删除控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆