There is such code:
public static FrameworkElement GetParentOfType<T>(FrameworkElement element) { if (element is T) return element; while (true) { element = element.Parent as FrameworkElement; if (element is T) break; } return element; } ... MyPanel myPanel = (MyPanel)GetParentOfType<MyPanel>(myTextBox); MyLabel myLabel = (MyLabel)GetParentOfType<MyLabel>(myTextBox); ...
But I would like to do something like this:
public static T GetParentOfType<T>(FrameworkElement element) { if (element is T) return element as T; while (true) { element = element.Parent as FrameworkElement; if (element is T) break; } return element as T; } ... MyPanel myPanel = GetParentOfType<MyPanel>(myTextBox); MyLabel myLabel = GetParentOfType<MyLabel>(myTextBox); ...
But as I would like it does not work. Where to read about it or how to be? I tried to look for myself, but I don’t know how to formulate a request correctly.
while (element != null)
: < ideone.com/wwUNaj>. ) - VladD