ItemsControl与一组对象相关联。作为模板,使用了另外两个UserControl,它们需要将属性与集合对象的属性相关联。我这样做:
<local:DayControl Date="{Binding Date}"/>
<local:IntervalControl Intervals="{Binding Intervals}"/>
但它不起作用!我们必须这样做:
<TextBlock x:Name="date" Text="{Binding Date}" Visibility="Hidden"/>
<ItemsControl x:Name="items" ItemsSource="{Binding Intervals}"/>
<local:DayControl Date="{Binding ElementName=date, Path=Text}"/>
<local:IntervalControl Intervals="{Binding ElementName=items, Path=ItemsSource}"/>
如何正确做到?
答案 0 :(得分:0)
检查Binding值的数据类型以及控件所期望的内容。
您的代码隐藏似乎需要一个转换器,此时您通过TextBlock(到String)和ItemsControl(到IEnumerable?)进行隐式类型转换。