2012-04-10 3 views
0

私は、次の日付ピッカーコントロールを持っている:バインドボタンのコンテンツ

<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> 

私はPART_ButtonボタンのContentプロパティをバインドしたいですDatePicker自体のSelectedDate.Dateプロパティです。私はこのようにしてみました:

Content="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DatePicker}}, Path=SelectedDate.Date}" 

しかし、動作しません。ボタンの内容は、以下の図のように「カレンダーを表示」(これは設定していません)です。

enter image description here

あなたはこの問題について何か提案はありますか?

答えて

1

変更そのコンテンツのためのTextBlockを使用するためのボタン:適切StringFormat声明と組み合わせる

<Button x:Name="PART_Button"> 
    <TextBlock Text="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DatePicker}}, Path=SelectedDate.Date}"/> 
</Button> 
+0

あなたの答えは、私は:)感謝を必要とするものです。 –

関連する問題