2
아래는 4.0 DatePicker의 서브 클래 싱을 시도한 코드입니다. 이 작업을 수행하려는 이유 중 하나는 워터 마크를보다 잘 제어하는 것입니다. 여기서 일어나는 일은 DatePickerTextBox에 대한 핸들을 얻지 만 PART_Watermark (null 임)을 얻지 못하고 있다는 것입니다.DatePicker 하위 클래스에서 템플릿을 찾을 수 없습니다.
ApplyTemplate이 적절한 위치입니까? 워터 마크를 받으려면 무엇을 고쳐야합니까?
건배,
Berryl
public class DatePickerEx : DatePicker
{
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
var datePickerTextBox = GetTemplateChild("PART_TextBox") as DatePickerTextBox;
if (datePickerTextBox == null) return;
var watermarkPart = datePickerTextBox.Template.FindName("PART_Watermark", datePickerTextBox) as ContentControl;
if (watermarkPart == null) return;
...
}
}