WPF DatePicker如何将默认日期设置为从今天起的5天

时间:2015-12-16 06:07:12

标签: wpf xaml

我知道我可以使用SelectedDate="{x:Static sys:DateTime.Now}"来设置今天的日期。但是如何在xaml中将日期设置为今天+ 5天? 感谢

4 个答案:

答案 0 :(得分:2)

我建议你绑定一个可以为空的DateTime属性,并将TargetNullValue与一个静态助手一起使用

<DatePicker SelectedDate="{Binding MyDate, 
    TargetNullValue={x:Static MyApplication:Dates.FiveDaysInFuture}}"/>

静态助手

public static class Dates
{
    public static DateTime FiveDaysInFuture
    {
        get { return DateTime.Today.AddDays(5); }
    }
}

编辑:

或者只是正确初始化视图模型,因为使用上述内容意味着在用户实际更改值之前,实际上未在视图模型中设置日期。

答案 1 :(得分:1)

你可以使用

  <DatePicker Loaded="dtPicker_Loaded"  x:Name="dtPicker"></DatePicker>
  <x:Code>
  private void dtPicker_Loaded(object sender, RoutedEventArgs e)
  {
    dtPicker.SelectedDate = DateTime.Now.AddDays(5);
  }
 </x:Code>

答案 2 :(得分:0)

简而言之,您无法在纯XAML中执行此操作。你必须使用某种代码。

答案 3 :(得分:-2)

您可以使用{{1}}