Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Misc Newsgroups > Avalon

Vista - request: TObject VisualTreeHelper.FindParent<TObject>(UIElement ch

 
 
Old 01-31-2006   #1 (permalink)
RyanLeeSchneider


 
 

request: TObject VisualTreeHelper.FindParent<TObject>(UIElement ch


I'd love to see a method in VisualTreeHelper that would recurse through the
parents and find the first one of the type I passed in.

In my specific scenario, I want to retireve the parent TreeViewItem of a
checkbox, which is inside a stackpanel, and I don't like doing
sender.Parent.Parent (with all the proper casts) since that ties my UI to my
code-behind.

Here's the code I came with, if anyone wants it:

static TObject FindVisualParent<TObject>(UIElement child)
where TObject : UIElement
{
if (child == null)
{
return null;
}

UIElement parent = VisualTreeHelper.GetParent(child) as UIElement;

while (parent != null)
{
TObject found = parent as TObject;
if (found != null)
{
return found;
}
else
{
parent = VisualTreeHelper.GetParent(parent) as UIElement;
}
}

return null;
}

My System SpecsSystem Spec
 

Thread Tools



Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46