DatePicker SelectionChanged代码不起作用 - WPF

Vin*_*nod 0 c# wpf xaml controls datepicker

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

<StackPanel Width="150">
    <DatePicker Name="dpick" FirstDayOfWeek="Monday" SelectedDateFormat="Short"/>
    <TextBlock Name="dpText"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

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();
}
Run Code Online (Sandbox Code Playgroud)

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

Bas*_*sen 7

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

<StackPanel Width="150">
    <DatePicker Name="dpick"  FirstDayOfWeek="Monday" SelectedDateFormat="Short"
                SelectedDateChanged="dpick_SelectedDateChanged"/>
    <TextBlock Name="dpText"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

码:

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();
}
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用字符串格式而不是连接 `dpDate.SelectedDate.Value.ToString("yyyy-MM-dd");` (2认同)