Click here to Skip to main content
11,637,176 members (69,240 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# Linux WPF
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.
Posted 21-Nov-12 19:00pm

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

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
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 stibee 313
1 jyo.net 295
2 OriginalGriff 295
3 himanshu agarwal 184
4 Sergey Alexandrovich Kryukov 154
0 OriginalGriff 9,031
1 Sergey Alexandrovich Kryukov 8,513
2 Mika Wendelius 6,922
3 F-ES Sitecore 2,388
4 Suvendu Shekhar Giri 2,320


Advertise | Privacy | Mobile
Web04 | 2.8.150728.1 | Last Updated 22 Nov 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100