첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
본 블로그는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 블로그 콘텐츠 향상을 위해 쓰여집니다.

728x90
반응형
728x170
using System.Windows;
using System.Windows.Media;

#region 조상 비주얼 구하기 - GetAncesterVisual<T>(source, allowSubclass)

/// <summary>
/// 조상 비주얼 구하기
/// </summary>
/// <typeparam name="T">조상 비주얼 타입</typeparam>
/// <param name="source">소스 의존 객체</param>
/// <param name="allowSubclass">서브 클래스 허용 여부</param>
/// <returns>조상 비주얼</returns>
public T GetAncesterVisual<T>(DependencyObject source, bool allowSubclass = false) where T : DependencyObject
{
    DependencyObject parent = VisualTreeHelper.GetParent(source);

    if(parent != null)
    {
        if(parent.GetType() == typeof(T) || (allowSubclass && parent is T))
        {
            return (T)parent;
        }
        else
        {
            return GetAncesterVisual<T>(parent, allowSubclass);
        }
    }

    return null;
}

#endregion
728x90
반응형
그리드형(광고전용)
Posted by 사용자 icodebroker
TAG , ,

댓글을 달아 주세요