xamarin - 如何在 xamarin.form 中的 xaml 中设置 DatePicker 值等于昨天?
问题描述
今天要设置Date
xaml 中的属性相等,我们可以使用Today
如下属性:
xmlns:system="clr-namespace:System;assembly=mscorlib"
<DatePicker Date="{x:Static system:DateTime.Today}"/>
我试图通过使用AddDays
方法来设置它,但它无济于事。
<DatePicker Date="{x:Static system:DateTime.Today.AddDays(-1)}"/>
不工作。
那么有没有办法呢?
解决方案
您可以从控制器设置日期。
<DatePicker x:Name="PostingDatePicker" />
PostingDatePicker.Date = DateTime.Today.AddDays(-1);
另一种方法是从 ViewModel 绑定日期,
Xaml
<DatePicker x:Name="PostingDatePicker" Date="{Binding PostingDate}"/>
视图模型
public DateTime PostingDate {get; set;}
PostingDate = DateTime.Today.AddDays(-1);
更新答案:
如果您只想通过 XAML 更新日期,您可以使用转换器,
<DatePicker x:Name="PostingDatePicker" Date="{Binding PostingDate, Converter={local:DateConverter}}"/>
创建一个继承 IValueConverter 的类,
public class DateConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
try
{
return DateTime.Today.AddDays(-1);
}
catch (Exception)
{
return null;
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
在运行时,您的日期选择器日期将更新为昨天的日期。
推荐阅读
- php - 无法验证来自 Sendgrid 事件 webhook 的签名
- mongodb - MongoDB查询遍历对象数组并选择特定对象
- jasper-reports - 如何使用报表查询中的“between”子句获取具有范围值的数据?
- sql - 当表不包含引用另一个表的行时返回 0
- python - 转换 pandas DataFrames 组 - 完全,而不仅仅是一个系列
- firebase - 为 Xamarin 实施推送通知时无法解析 FCM 的令牌
- java - 如何在卡片或回收站视图中自动显示当前日期和时间?
- javascript - Facebook SDK for JavaScript 上的“biz_inbox”和“setup_tool”属性有什么区别?
- c# - 检查二维列表中不同的特定字符串
- mocha.js - 柏树 | 使用在 beforeEach 钩子中声明的变量