Xamarin.forms Xamarin DatePicker如何显示一周中的哪一天?

Xamarin.forms Xamarin DatePicker如何显示一周中的哪一天?,xamarin.forms,datepicker,Xamarin.forms,Datepicker,我在iOS和UWP中使用Format=D尝试了Xamarin Forms DatePicker。 在iOS中,一周中的某一天显示在日期选择器中,看起来像 2016年4月24日星期日 但在UWP中,DatePicker不显示星期几,它显示: 2016年4月24日 所以,我的问题是: 如何在UWP的日期选择器中显示星期几 以下是我在xaml中的代码: 首先我想谈谈Format=D。从文档中,这是一个字符串值。但是不能在DatePicker中显示 DateTime date1 = new DateTi

我在iOS和UWP中使用Format=D尝试了Xamarin Forms DatePicker。 在iOS中,一周中的某一天显示在日期选择器中,看起来像

2016年4月24日星期日

但在UWP中,DatePicker不显示星期几,它显示:

2016年4月24日

所以,我的问题是:

如何在UWP的日期选择器中显示星期几

以下是我在xaml中的代码:


首先我想谈谈Format=D。从文档中,这是一个字符串值。但是不能在DatePicker中显示

DateTime date1 = new DateTime(2008, 4, 10);
Console.WriteLine(date1.ToString("D", 
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008                        
Console.WriteLine(date1.ToString("D", 
                  CultureInfo.CreateSpecificCulture("pt-BR")));
// Displays quinta-feira, 10 de abril de 2008                        
Console.WriteLine(date1.ToString("D", 
                  CultureInfo.CreateSpecificCulture("es-MX")));
// Displays jueves, 10 de abril de 2008
现在你可以看看UWP中设计的,它不能显示星期几

所以唯一的方法就是定制日期选择器

DateTime date1 = new DateTime(2008, 4, 10);
Console.WriteLine(date1.ToString("D", 
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008                        
Console.WriteLine(date1.ToString("D", 
                  CultureInfo.CreateSpecificCulture("pt-BR")));
// Displays quinta-feira, 10 de abril de 2008                        
Console.WriteLine(date1.ToString("D", 
                  CultureInfo.CreateSpecificCulture("es-MX")));
// Displays jueves, 10 de abril de 2008
在Xamarin表单中,可以在UWP中使用自定义DatePciker

在表单中创建自定义日期选择器:

public class CustomDatePicker : DatePicker
{
}
在Xaml中使用它:

然后在UWP中,创建自定义渲染器类:

注意:这里我只是在DatePicker的标题中设置了星期几,因为没有找到修改Picker的UI的方法。我认为如果继续研究,将需要更多的时间来找到最好的解决方案

当前显示效果如下:


首先我想谈谈Format=D。从文档中,这是一个字符串值。但是不能在DatePicker中显示

DateTime date1 = new DateTime(2008, 4, 10);
Console.WriteLine(date1.ToString("D", 
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008                        
Console.WriteLine(date1.ToString("D", 
                  CultureInfo.CreateSpecificCulture("pt-BR")));
// Displays quinta-feira, 10 de abril de 2008                        
Console.WriteLine(date1.ToString("D", 
                  CultureInfo.CreateSpecificCulture("es-MX")));
// Displays jueves, 10 de abril de 2008
现在你可以看看UWP中设计的,它不能显示星期几

所以唯一的方法就是定制日期选择器

DateTime date1 = new DateTime(2008, 4, 10);
Console.WriteLine(date1.ToString("D", 
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008                        
Console.WriteLine(date1.ToString("D", 
                  CultureInfo.CreateSpecificCulture("pt-BR")));
// Displays quinta-feira, 10 de abril de 2008                        
Console.WriteLine(date1.ToString("D", 
                  CultureInfo.CreateSpecificCulture("es-MX")));
// Displays jueves, 10 de abril de 2008
在Xamarin表单中,可以在UWP中使用自定义DatePciker

在表单中创建自定义日期选择器:

public class CustomDatePicker : DatePicker
{
}
在Xaml中使用它:

然后在UWP中,创建自定义渲染器类:

注意:这里我只是在DatePicker的标题中设置了星期几,因为没有找到修改Picker的UI的方法。我认为如果继续研究,将需要更多的时间来找到最好的解决方案

当前显示效果如下:


如果您自己进行格式化,它是否仍然不显示一周中的哪一天?类似于Format=dddd,MMMM d,yyyy。不,没有任何更改。如果您自己进行格式化,它是否仍然不显示一周中的某一天?比如Format=dddddd,mmmmmd,yyyyy。不,没有改变。你是对的,现在我看到了星期五,谢谢!我认为这是在UWP下运行时的datePicker问题,因为dayOfWeek在iOS中显示。您认为是否可以在日期选择器中切换月份和日期,例如2019年8月29日?@renintx这是可能的。这里是一个参考讨论,你可以看看。你说得对,现在我知道星期五了,谢谢!我认为这是在UWP下运行时的datePicker问题,因为dayOfWeek在iOS中显示。您认为是否可以在日期选择器中切换月份和日期,例如2019年8月29日?@renintx这是可能的。这里是一个参考讨论,你可以看看。