Filtration/Filtration.Common/Utilities/VisualTreeUtility.cs
Ben Wallis 9f17d84a7f * Moved VisualTreeHelper and PathOfExileColors to Filtration.Common
* Replaced bindings of PathOfExileColors with x:Static
* Fixed Advanced tab of ColorPicker control in theme editor not being clickable
2018-12-05 17:40:59 +00:00

27 lines
680 B
C#

using System.Windows;
using System.Windows.Media;
namespace Filtration.Common.Utilities
{
public class VisualTreeUtility
{
public static T FindParent<T>(DependencyObject child)
where T : DependencyObject
{
//get parent item
var parentObject = VisualTreeHelper.GetParent(child);
//we've reached the end of the tree
if (parentObject == null) return null;
//check if the parent matches the type we're looking for
if (parentObject is T parent)
{
return parent;
}
return FindParent<T>(parentObject);
}
}
}