■ 템플리트 엘리먼트 찾기
------------------------------------------------------------------------------------------------------------------------
using System.Windows;
using System.Windows.Media;
#region 템플리트 엘리먼트 찾기 - FindTemplateElement<T>(sourceDependencyObject)
/// <summary>
/// 템플리트 엘리먼트 찾기
/// </summary>
/// <typeparam name="TElement">엘리먼트 타입</typeparam>
/// <param name="sourceDependencyObject">소스 의존 객체</param>
/// <returns>템플리트 엘리먼트</returns>
public TElement FindTemplateElement<TElement>(DependencyObject sourceDependencyObject) where TElement : class
{
if(sourceDependencyObject is TElement)
{
return sourceDependencyObject as TElement;
}
for(int i = 0; i < VisualTreeHelper.GetChildrenCount(sourceDependencyObject); i++)
{
Visual visual = FindTemplateElement<TElement>(VisualTreeHelper.GetChild(sourceDependencyObject, i)) as Visual;
if(visual != null)
{
return visual as TElement;
}
}
return null;
}
#endregion
------------------------------------------------------------------------------------------------------------------------
※ 소스 의존 객체의 컨트롤 템플리트 내에 정의된 엘리먼트 참조를 찾기 위한 것이다.
'C# > WPF' 카테고리의 다른 글
[C#/WPF] Interaction 엘리먼트 : Triggers 첨부 속성을 사용해 이벤트 처리하기 (0) | 2015.08.28 |
---|---|
[C#/WPF] MVVM 패턴 사용하기 (0) | 2015.08.28 |
[C#/WPF] HierarchicalDataTemplate 엘리먼트 : XML 데이터를 사용해 트리 만들기 (0) | 2015.08.27 |
[C#/WPF] XmlDataProvider 엘리먼트 : Source 속성을 사용해 XML 데이터 사용하기 (0) | 2015.08.27 |
[C#/WPF] DatePicker 컨트롤 만들기 (0) | 2015.08.26 |
[C#/WPF] 템플리트 엘리먼트 찾기 (0) | 2015.08.26 |
[C#/WPF] ItemsPanelTemplate 엘리먼트 : ListBox 엘리먼트의 ItemsPanel 속성 설정하기 (0) | 2015.08.24 |
[C#/WPF] VirtualizingStackPanel 엘리먼트 사용하기 (0) | 2015.08.24 |
[C#/WPF] DataTemplate 엘리먼트 : Triggers 속성 사용하기 (0) | 2015.08.24 |
[C#/WPF] DataTemplateSelector 클래스 사용하기 (0) | 2015.08.24 |
[C#/WPF] DataTemplate 엘리먼트 : DataType 속성을 사용해 Button 엘리먼트의 ContentTemplate 속성 설정하기 (0) | 2015.08.22 |
댓글을 달아 주세요