如何通过在应用程序内使用日历控件在 Xamarin.Forms 中添加 activity(Appointments, Tasks)?
How to add activity(Appointments, Tasks) in Xamarin.Forms by using calendar control inside applicatoin?
我正在创建一个应用程序,因为需要在特定页面或块内显示日历,并且在日历内显示特定的 activity 日期,例如 4 月 27 日,它显示第 4 个星期六依此类推取决于 运行 时间。
我正在使用 .Net 标准 2.0 并尝试使用 XamForms.Controls.Calendar
进行制作,但它对我不起作用。
我需要使用免费插件和完整的 .Net 标准支持来实现日历。
任何人都可以调查一下并建议我应该更改代码或配置吗?
如果你只是想在特定的日期显示特定的activity,你可以在XamForms.Controls.Calendar
中使用SpecialDate
来实现,我设置了FontSize = 0
日期不可见并设置 Selectable = false
以禁用 select 操作:
public MainPage()
{
InitializeComponent();
Calendar calendar = new Calendar
{
MaxDate = DateTime.Now.AddDays(30),
MinDate = DateTime.Now.AddDays(-1),
MultiSelectDates = false,
DisableAllDates = false,
WeekdaysShow = true,
ShowNumberOfWeek = true,
ShowNumOfMonths = 1,
EnableTitleMonthYearView = true,
WeekdaysTextColor = Color.Teal,
StartDay = DayOfWeek.Monday,
SelectedTextColor = Color.Fuchsia,
SpecialDates = new List<SpecialDate>{
new SpecialDate(DateTime.Now.AddDays(2))
{
BackgroundColor = Color.White,
TextColor = Color.White,
Selectable = false,
FontSize = 0,
BackgroundPattern = new BackgroundPattern(1)
{
Pattern = new List<Pattern>
{
new Pattern{ WidthPercent = 1f, HightPercent = 1f, Color = Color.White,Text = "4th Saturday", TextColor=Color.DarkBlue, TextSize=8, TextAlign=TextAlign.Middle}
}
}
}
}
};
Content = new ScrollView
{
Content = new StackLayout
{
Padding = new Thickness(5, Device.RuntimePlatform == Device.iOS ? 25 : 5, 5, 5),
Children = {
calendar//,c2
}
}
};
}
结果如下:
如果要显示所有的星期六,你应该自己计算日期并将日期作为参数传递给DateTime.Now.AddDays(2)
。
我正在创建一个应用程序,因为需要在特定页面或块内显示日历,并且在日历内显示特定的 activity 日期,例如 4 月 27 日,它显示第 4 个星期六依此类推取决于 运行 时间。
我正在使用 .Net 标准 2.0 并尝试使用 XamForms.Controls.Calendar
进行制作,但它对我不起作用。
我需要使用免费插件和完整的 .Net 标准支持来实现日历。
任何人都可以调查一下并建议我应该更改代码或配置吗?
如果你只是想在特定的日期显示特定的activity,你可以在XamForms.Controls.Calendar
中使用SpecialDate
来实现,我设置了FontSize = 0
日期不可见并设置 Selectable = false
以禁用 select 操作:
public MainPage()
{
InitializeComponent();
Calendar calendar = new Calendar
{
MaxDate = DateTime.Now.AddDays(30),
MinDate = DateTime.Now.AddDays(-1),
MultiSelectDates = false,
DisableAllDates = false,
WeekdaysShow = true,
ShowNumberOfWeek = true,
ShowNumOfMonths = 1,
EnableTitleMonthYearView = true,
WeekdaysTextColor = Color.Teal,
StartDay = DayOfWeek.Monday,
SelectedTextColor = Color.Fuchsia,
SpecialDates = new List<SpecialDate>{
new SpecialDate(DateTime.Now.AddDays(2))
{
BackgroundColor = Color.White,
TextColor = Color.White,
Selectable = false,
FontSize = 0,
BackgroundPattern = new BackgroundPattern(1)
{
Pattern = new List<Pattern>
{
new Pattern{ WidthPercent = 1f, HightPercent = 1f, Color = Color.White,Text = "4th Saturday", TextColor=Color.DarkBlue, TextSize=8, TextAlign=TextAlign.Middle}
}
}
}
}
};
Content = new ScrollView
{
Content = new StackLayout
{
Padding = new Thickness(5, Device.RuntimePlatform == Device.iOS ? 25 : 5, 5, 5),
Children = {
calendar//,c2
}
}
};
}
结果如下:
如果要显示所有的星期六,你应该自己计算日期并将日期作为参数传递给DateTime.Now.AddDays(2)
。