从DatePicker DatePicker事件设置按钮内容

本文关键字:DatePicker 按钮 设置 事件 | 更新日期: 2023-09-27 18:06:01

我正在开发windows phone 8.1应用程序。我试图使用DatePickerFlyout,但没有适当的成功。我正在选择日期,并试图设置按钮内容与选定的日期,但它没有设置。当我调试查看日期是否到来时,我可以看到日期是否正确到来。我不知道我做错了什么。谁来帮帮我。

  1. My Code XML Codes Style

    <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. My XML Code for button

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

从DatePicker DatePicker事件设置按钮内容

需要将Date的字符串表示形式设置为按钮的Content。这样的:

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