次の DatePicker コントロールがあります。
<DatePicker SelectedDate="{Binding DateFor}" Style="{StaticResource ButtonDatePicker}"/>
スタイルは次のButtonDatePicker
ように定義されます。
<Style x:Key="ButtonDatePicker" TargetType="{x:Type DatePicker}">
<Setter Property="IsTodayHighlighted" Value="True"/>
<Setter Property="SelectedDateFormat" Value="Short"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DatePicker}">
<Grid>
<Button x:Name="PART_Button" Content="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DatePicker}}, Path=SelectedDate.Date}"/>
<Grid IsHitTestVisible="False" Opacity="0">
<Popup x:Name="PART_Popup" AllowsTransparency="True" Placement="Bottom" StaysOpen="False"/>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Button のプロパティを DatePicker 自体のContent
プロパティにバインドしたいと考えています。私はこのように試しました:PART_Button
SelectedDate.Date
Content="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DatePicker}}, Path=SelectedDate.Date}"
しかし、うまくいきません。ボタンの内容は、下の写真のように常に「カレンダーを表示」(私は設定していません)です。
この問題について何か提案はありますか?