Dav*_*man 9 wpf dependency-properties readonly wpf-controls
我正在创建一个用户控件来显示一个三个月的日历.该控件基于WPF日历控件(WPF Toolkit 2009-06),我想将几个Calendar的属性传递给我的用户控件的相应属性.用户控件属性设置为依赖项属性,其基础类型与日历属性的类型匹配.这是我的标记:
<StackPanel>
<toolkit:Calendar Name="MasterCalendar"
SelectionMode="{Binding Path=SelectionMode, Mode=OneWay}"
SelectedDate="{Binding Path=SelectedDate, Mode=OneWayToSource}"
SelectedDates="{Binding Path=SelectedDates, Mode=OneWayToSource}"/>
<toolkit:Calendar Name="SlaveCalendar1"
DisplayDate="{Binding DisplayDate, Converter={StaticResource IncrementalMonthConverter}, ElementName=MasterCalendar, Mode=OneWay}"
SelectionMode="{Binding Path=SelectionMode, Mode=OneWay}"
SelectedDate="{Binding Path=SelectedDate, Mode=OneWayToSource}"
SelectedDates="{Binding Path=SelectedDates, Mode=OneWayToSource}"/>
<toolkit:Calendar Name="SlaveCalendar2"
DisplayDate="{Binding DisplayDate, Converter={StaticResource IncrementalMonthConverter}, ElementName=SlaveCalendar1, Mode=OneWay}"
SelectionMode="{Binding Path=SelectionMode, Mode=OneWay}"
SelectedDate="{Binding Path=SelectedDate, Mode=OneWayToSource}"
SelectedDates="{Binding Path=SelectedDates, Mode=OneWayToSource}"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
除SelectedDates属性外,所有属性绑定都没有问题.我的绑定出现以下错误:
'SelectedDates'属性是只读的,不能通过标记设置.
我怀疑是因为该SelectedDates属性是一个集合,但我不知道如何解决这个问题.任何人都可以启发我的问题的原因,并建议修复?谢谢你的帮助.
如果我很了解您,那么您的代码中具有与名称匹配的依赖项属性,并在用户控件中键入日历控件的属性。您正在尝试将各种日历控件的 SelectedDates 集合分配给后面的代码中同名的 Dependency 属性。
您可以简单地通过一行代码来完成此操作:
this.SelectedDates=SlaveCalendar1.SelectedDates
在添加选定日期时触发的适当事件处理程序中。
即使您将绑定设置OneWayToSource为该SelectedDates=代码段也是一个赋值。由于 SelectedDates 属性没有设置器,因此无法编写这段代码。
在这里您可以找到日历控件文档的链接
| 归档时间: |
|
| 查看次数: |
3210 次 |
| 最近记录: |