C# 如何转换日期选择器';s到达领域的日期时间';在Xamarin.Forms中的日期时间偏移量?

C# 如何转换日期选择器';s到达领域的日期时间';在Xamarin.Forms中的日期时间偏移量?,c#,xamarin.forms,type-conversion,realm,C#,Xamarin.forms,Type Conversion,Realm,我有一个类,它是从RealmObject继承的,带有生日属性,我用DatePicker输入该属性。但Realm仅适用于DateTimeOffset。我怎样才能优雅地转换所有这些 XAML 类作者 public class Author : RealmObject { //[PrimaryKey] public string Id { get; set; } = Guid.NewGuid().ToString(); public string Name { ge

我有一个类,它是从RealmObject继承的,带有生日属性,我用DatePicker输入该属性。但Realm仅适用于DateTimeOffset。我怎样才能优雅地转换所有这些

XAML


类作者

    public class Author : RealmObject
{
    //[PrimaryKey]
    public string Id { get; set; } = Guid.NewGuid().ToString();
    public string Name { get; set; }
    public string PhotoPath { get; set; }
    [Ignored]
    public Image Photo { get; set; }
    public DateTimeOffset? Birthday { get; set; }
    public IList<Book> Books { get; }
    public bool IsFavorite { get; set; }
}
公共类作者:RealmObject
{
//[主密钥]
公共字符串Id{get;set;}=Guid.NewGuid().ToString();
公共字符串名称{get;set;}
公共字符串光路{get;set;}
[忽略]
公共图像照片{get;set;}
公共DateTimeOffset?生日{get;set;}
公共IList书籍{get;}
公共bool是收藏夹{get;set;}
}
  • 在的帮助下使用值转换器
  • 在的帮助下,将DateTime转换为DateTimeOffset
  • 如果您也使用该选择器来显示数据,则需要实现值转换器的ConvertBack方法。将偏移量转换为日期时间与返回相当简单:
    Offset.DateTime
  • 对于深度DateTimeOffset:

        public class Author : RealmObject
    {
        //[PrimaryKey]
        public string Id { get; set; } = Guid.NewGuid().ToString();
        public string Name { get; set; }
        public string PhotoPath { get; set; }
        [Ignored]
        public Image Photo { get; set; }
        public DateTimeOffset? Birthday { get; set; }
        public IList<Book> Books { get; }
        public bool IsFavorite { get; set; }
    }