以下は、4.0 DatePicker のサブクラス化を試みたコードの一部です。これを行う理由の 1 つは、透かしをより細かく制御できるようにすることです。ここで何が起こるかというと、DatePickerTextBox へのハンドルを取得していますが、PART_Watermark を取得していません (null です)。
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;
...
}
}