DateControls.axaml代码
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Height="426" Width="467" x:Class="AvaloniaUI.DateControls" Title="DateControls"> <Grid Background="White" Margin="3" ColumnDefinitions="auto,auto" RowDefinitions="*,auto"> <StackPanel> <Calendar Margin="3" SelectionMode="MultipleRange" SelectedDatesChanged="Calendar_SelectedDatesChanged" ></Calendar> <Calendar Margin="3" DisplayMode="Year" SelectedDatesChanged="Calendar_SelectedDatesChanged" ></Calendar> </StackPanel> <StackPanel Grid.Column="1"> <DatePicker Margin="3"></DatePicker> <DatePicker Margin="3" DayFormat="ddd dd"></DatePicker> </StackPanel> <TextBlock Grid.Row="1" Grid.ColumnSpan="2" Name="lblError" Foreground="Red" TextWrapping="Wrap"></TextBlock> </Grid> </Window>
DateControls.axaml.cs代码
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using System;
namespace AvaloniaUI;
public partial class DateControls : Window
{
public DateControls()
{
InitializeComponent();
}
private void Calendar_SelectedDatesChanged(object? sender, SelectionChangedEventArgs e)
{
foreach (DateTime selectedDate in e.AddedItems)
{
if ((selectedDate.DayOfWeek == DayOfWeek.Saturday) ||
(selectedDate.DayOfWeek == DayOfWeek.Sunday))
{
lblError.Text = "Weekends are not allowed";
((Calendar?)sender!).SelectedDates.Remove(selectedDate);
}
else
lblError.Text = "";
}
}
}
运行效果

浙公网安备 33010602011771号