DatePicker SelectionChanged代码不起作用 - WPF

时间:2011-08-13 23:09:18

标签: c# wpf xaml controls datepicker

这是我在WPF中的代码: XAML:

<StackPanel Width="150">
    <DatePicker Name="dpick" FirstDayOfWeek="Monday" SelectedDateFormat="Short"/>
    <TextBlock Name="dpText"/>
</StackPanel>

C#代码:

public void dpick_SelectionChanged(object sender, EventArgs e)
{
    dpText.Text = dpick.SelectedDate.Value.Year.ToString() + "-" +
            dpick.SelectedDate.Value.Month.ToString() + "-" +
            dpick.SelectedDate.Value.Day.ToString();
}

在更改日期后,dpText.Text未更新。 为什么会这样。 我也尝试过使用ValueChanged事件。但是没有更新。

1 个答案:

答案 0 :(得分:6)

您没有使用日期选择器上的任何事件。尝试将SelectedDateChanged添加到选择器,并将代码从dpick_SelectionChanged放入新创建的事件中。

<StackPanel Width="150">
    <DatePicker Name="dpick"  FirstDayOfWeek="Monday" SelectedDateFormat="Short"
                SelectedDateChanged="dpick_SelectedDateChanged"/>
    <TextBlock Name="dpText"/>
</StackPanel>

代码:

private void dpick_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
    dpText.Text = dpick.SelectedDate.Value.Year.ToString() + "-" +
        dpick.SelectedDate.Value.Month.ToString() + "-" +
        dpick.SelectedDate.Value.Day.ToString();
}