从DatePicker DatePicked事件设置按钮内容

时间:2015-08-02 08:50:04

标签: c# datepicker windows-phone-8.1 silverlight-5.0

我正在使用Windows Phone 8.1应用程序。我正在尝试使用DatePickerFlyout但没有取得适当的成功。 我正在选择日期并尝试使用所选日期设置按钮内容,但它没有设置。当我调试以查看日期是否到来时,我可以看到日期正确。我不知道自己做错了什么。请有人帮助我。

  1. 我的代码XML代码样式

    <Style TargetType="Button" x:Name="DropDownButton">
          <Setter Property="Background" Value="#e6e6e6"/>
          <Setter Property="Foreground" Value="Black"/>
          <Setter Property="HorizontalAlignment" Value="Stretch"/>
          <Setter Property="BorderThickness" Value="0"/>
          <Setter Property="Margin" Value="10,0,10,10"/>
          <Setter Property="Template">
            <Setter.Value>
              <ControlTemplate TargetType="Button">
                <Grid Background="{TemplateBinding Background}" Height="65">
                  <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="*"/>
                  </Grid.ColumnDefinitions>
                  <Image Source="{Binding Tag, RelativeSource={RelativeSource Mode=TemplatedParent}}"
                                Stretch="None" Grid.Column="0" HorizontalAlignment="Left"/>
                  <TextBlock x:Name="ButtonTextElement" 
                             Text="{TemplateBinding Content}" Margin="10,0"
                             Foreground="{TemplateBinding Foreground}" Grid.Column="1" 
                             VerticalAlignment="{TemplateBinding VerticalAlignment}" />
                  <Image Source="{TemplateBinding local:BookAFlight.ImageSource}"
                                Stretch="None" Grid.Column="2" HorizontalAlignment="Right"/>
                </Grid>
              </ControlTemplate>
            </Setter.Value>
          </Setter>
        </Style>
    
  2. 我的按钮

    的XML代码
    <Button Style="{StaticResource DropDownButton}" Tag="/Assets/date-icon.png" x:Name="fromDate"
                  x:Uid="fromDate">
            <Button.Flyout>
              <DatePickerFlyout x:Name="fromDatePicker"/>
            </Button.Flyout>
          </Button>
    
  3. 我的C#代码

    public ClassInitializer()
        {
          this.InitializeComponent();
          fromDatePicker.DatePicked += fromDatePicker_DatePicked;
        }
    
    void fromDatePicker_DatePicked(DatePickerFlyout sender, DatePickedEventArgs args)
        {
          fromDate.Content =  sender.Date;
        }
    

1 个答案:

答案 0 :(得分:1)

需要将Date的字符串表示设置为按钮的内容。 像这样:

void fromDatePicker_DatePicked(DatePickerFlyout sender, DatePickedEventArgs args)
    {
      fromDate.Content =  sender.Date.DateTime.ToString();
    }