첨부 소스 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170
using System;
using System.Windows;
using System.Windows.Media;

#region 타입으로 조상 찾기 - FindAncestorByType(source, type, specificTypeOnly)

/// <summary>
/// 타입으로 조상 찾기
/// </summary>
/// <param name="source">소스 객체</param>
/// <param name="ancestorType">조상 타입</param>
/// <param name="specificTypeOnly">특정 타입만 찾기 여부</param>
/// <returns>조상 객체</returns>
public DependencyObject FindAncestorObjectByType(DependencyObject source, Type ancestorType, bool specificTypeOnly)
{
    if(source == null)
    {
        return null;
    }

    if(specificTypeOnly ? (source.GetType() == ancestorType) : (source.GetType() == ancestorType) || (source.GetType().IsSubclassOf(ancestorType)))
    {
        return source;
    }

    return FindAncestorObjectByType(VisualTreeHelper.GetParent(source), ancestorType, specificTypeOnly);
}

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

댓글을 달아 주세요