You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Maui .NET DatePicker默认日期设置为当日日期?

解决DatePicker默认显示1924年日期的问题

核心解决方案:确保绑定属性正确初始化并通知UI更新

方法一:ViewModel属性初始化(MVVM模式推荐)

如果采用MVVM架构,直接在EventDate属性初始化或ViewModel构造函数中设置为当日日期,同时必须确保属性实现INotifyPropertyChanged接口,保证UI能同步更新:

private DateTime _eventDate = DateTime.Today;
public DateTime EventDate
{
    get => _eventDate;
    set
    {
        if (_eventDate != value)
        {
            _eventDate = value;
            OnPropertyChanged(nameof(EventDate));
        }
    }
}

// 实现INotifyPropertyChanged的必要方法
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}

方法二:页面构造函数直接设置(非MVVM场景)

如果是直接在代码后台操作,在InitializeComponent()之后设置控件或绑定属性,同时确认DataContext已正确赋值:

public EventPage()
{
    InitializeComponent();
    // 直接设置控件Date属性
    eventDatePicker.Date = DateTime.Today;
    // 或绑定到ViewModel时,确保ViewModel实例化并赋值DataContext
    DataContext = new EventViewModel { EventDate = DateTime.Today };
}

排查之前方法无效的常见原因

  • XAML设置默认值无效:检查DataContext是否在XAML加载后被覆盖,或者绑定路径是否错误导致未生效。
  • 属性直接赋值无效:确认属性未实现INotifyPropertyChanged,导致UI无法感知属性变化。

内容的提问来源于stack exchange,提问作者AverageHomosapien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 16:09:49