下面是一段尝试继承 4.0 DatePicker 的代码。我想这样做的原因之一是对水印有更多的控制权。这里发生的是我得到了 DatePickerTextBox 的句柄,但我没有得到 PART_Watermark(它为空)。
ApplyTemplate 是执行此操作的正确位置吗?我必须修复什么才能获得水印?
干杯,
贝里尔
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;
...
}
}