dotnet / docs-desktop

This repository contains .NET documentation related to Windows Forms (winforms) and Windows Presentation Foundation (WPF).
Creative Commons Attribution 4.0 International
193 stars 175 forks source link

Suggested Addition for "How to: Find an Element by Its Name - WPF .NET Framework" #1202

Open ClockEndGooner opened 2 years ago

ClockEndGooner commented 2 years ago

The example's implementation of the Find() method will only find a child element for the specified name that has been added to the Window's or Page's Content as a non-dynamic element. By default, a dynamic UI Element (e.g., the WPF Framework UIElement was instantiated and and added to the Content of the main view programmatically and not through a XAML declaration) is not added as a NameScoped mapped object, and any calls to FindName() using a dynamic object's Name will return a null object reference.

If a FrameworkElement has been added to the Content dynamically, and you would still need to get a reference to the named element, the elements name should be registered to the NameScoped object map by calling the FrameworkElement.RegisterName() method before the element is added to the parent container for a Window or Page's Content.

See Also:

FrameworkElement.RegisterName(String, Object) Method https://docs.microsoft.com/en-us/dotnet/api/system.windows.frameworkelement.registername?view=windowsdesktop-5.0

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

adegeo commented 2 years ago

Thank you for this information. I'll flag this for updating.