我正在尝试向 datepicker 控件添加一个指示器(我正在使用 TextBlock)。
视觉上它可以工作,但我无法通过 GetTemplateChild 获得控制。我认为这与我添加的 TextBlock 控件位于 DatePickerTextBox 样式模板中而不是 DatePicker 样式模板中的事实有关。
我已经尝试过 DefaultStyleKey(尽管我认为这没有意义,因为问题在于 DatePicker 中的 TextBox 控件)并在 TextBox 控件上使用了 OnApplyTemplate 和 UpdateLayout。
这是 Dictionary.xaml 的片段
<Style x:Key="Ind_DatePickerTextBoxStyle" TargetType="primitives:DatePickerTextBox">
...
<Grid VerticalAlignment="Stretch">
<TextBlock x:Name="Indicator" Text="*" Style="{StaticResource IndicatorStyle}" Visibility="Collapsed"/>
...
<!--datepicker style snippet-->
<primitives:BF_DatePickerTextBox
x:Name="TextBox"
SelectionBackground="{TemplateBinding SelectionBackground}"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}"
Grid.Column="0"
Style="{StaticResource Ind_DatePickerTextBoxStyle}" />