2012-04-10 178 views
0

我有以下DatePicker控件:綁定按鈕內容到DatePicker的SelectedDate

<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對其內容:

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

結合有了正確的StringFormat陳述你的答案是什麼,我需要:)謝謝。 – 2012-04-10 19:37:08