Xamarin.forms 日期选择器绑定Xamarin表单

Xamarin.forms 日期选择器绑定Xamarin表单,xamarin.forms,datepicker,Xamarin.forms,Datepicker,通过在我的xaml代码中包含这行代码。创建新数据时,如何将日期设置为现在?您可以将date属性更改为以下内容:date=“{Binding MyDate}”,然后在代码隐藏中为BindingContext属性指定一个视图模型。例如: <DatePicker Date="date" Format="d MMM yyyy" HorizontalOptions="EndAndExpand" x:Name="date"/> 在您的页面中: public class MyViewModel

通过在我的xaml代码中包含这行代码。创建新数据时,如何将日期设置为现在?

您可以将
date
属性更改为以下内容:
date=“{Binding MyDate}”
,然后在代码隐藏中为
BindingContext
属性指定一个视图模型。例如:

<DatePicker Date="date" Format="d MMM yyyy" HorizontalOptions="EndAndExpand" x:Name="date"/>
在您的页面中:

public class MyViewModel
{
    public DateTime MyDate { get; set; }
}
或者,如果您不需要使用视图模型或MVVM(我强烈推荐),您可以直接从代码隐藏中进行设置。因为您给了
DatePicker
一个
x:Name
属性,所以您可以通过该名称来引用它

public class MyPage
{
    public MyPage()
    {
        InitializeComponent();

        var viewModel = new MyViewModel();
        viewModel = DateTime.Now;

        BindingContext = viewModel;
    }
}

您可以用两种方式定义它

  • 使用“x:Name”可以在XAML.cs中定义日期
  • 使用“日期”的绑定属性,可以在ViewModel类中定义日期
  • xaml.cs中


    date.date=DateTime.Now

    在页面的OnAppearing上,您可以设置date.date=DateTime.Today.yes,但问题是当我打开一个已添加且已具有特定日期的对象时。执行此方法将更改objectgood idea的原始日期,但问题是当我打开一个已添加且已具有特定日期的对象时。执行此方法将改变对象的原始日期我不确定您试图实现什么,如果(date==null)我正在尝试{将代码放在这里..}如果我已经在Xaml中绑定了DatePicker的日期值,那么什么都没有发生?使用您想要初始显示的值初始化
    MyDate
    变量。如果对象中已经有日期值,该怎么办?它将覆盖该值。默认情况下,即使您没有将日期设置为Date-to-DateTime。现在,它将默认值设置为DateTime.Now。如果设置其他日期,它将覆盖DateTime.now值.public DateTime dateModelView{get=>Model.date==null?DateTime.now:Model.date;set{Model.date=value;NotifyPropertyChanged(“日期”);}
    public class MyPage
    {
        public MyPage()
        {
            InitializeComponent();
    
            date.Date = DateTime.Now;
        }
    }