首页 > 解决方案 > 在 wpf 中绑定 SelectedDates 属性的正确方法是什么?

问题描述

我希望有多个选定日期的日历项目,这些日期将在 C# 中生成。那么 wpf 中 SelectedDates 属性的绑定过程是怎样的呢?可以将 Date 返回到绑定目标的 C# 代码是什么?这是我的一些 xaml 代码

<Calendar x:Name="_calendar"
                  Style="{DynamicResource CalendarStyle1}"
                  CalendarDayButtonStyle="{DynamicResource CalendarDayButtonStyle1}"
                  CalendarButtonStyle="{DynamicResource CalendarButtonStyle1}"
                  IsManipulationEnabled="True"
                  SelectionMode="MultipleRange"
                  SelectedDate="{Binding }">
        </Calendar>

标签: c#.netwpfvisual-studioxaml

解决方案


您不能绑定到 Calendar 的 SelectedDates 属性,因为它是只读属性,但您可以动态为其添加值,以下示例显示了如何向 Calendar 添加值并获取选定日期:

XAML:

            <StackPanel Margin="10">
            <Calendar Name="_calendar" SelectionMode="MultipleRange"
                      />
            <Label>Selected dates:</Label>
            <ListBox ItemsSource="{Binding ElementName=_calendar, Path=SelectedDates}" MinHeight="150" />
            </StackPanel>

资源:

            _calendar.SelectedDates.Add(DateTime.Today.AddDays(-5));
            _calendar.SelectedDates.Add(DateTime.Today.AddDays(-2));
            _calendar.SelectedDates.Add(DateTime.Today.AddDays(5));
            _calendar.SelectedDates.Add(DateTime.Today.AddDays(15));

结果:

在此处输入图像描述


推荐阅读