DataBinding - 如何将嵌套属性绑定到数据模板?

时间:2011-12-24 04:49:33

标签: silverlight windows-phone-7 data-binding pivotitem

我有一个数据模板

<DataTemplate x:Key="MyPivotItemTemplate">
        <controls:PivotItem Header="{Binding MyClassAName}" />
</DataTemplate>

我在其中使用

<controls:Pivot Title="Category" x:Name="myPivot"
 ItemTemplate="{StaticResource MyPivotItemTemplate}">

我尝试将ClassA列表作为透视项源传递,其定义如下

Class ClassA
{
    String MyClassAName;
    ...
}
...
ClassA myClassAItem = new ClassA() {MyClassAName = "LOL"};
ClassACollection.Add(myClassAItem);
...
myPivot.ItemSource = ClassACollection;

当我尝试运行代码时,添加的pivotitem标题文本是提供的集合的对象名称(即“MyApp.ClassACollection”),而不是ClassA的MyClassAName值(即“LOL”)的值。那么如何将每个ClassA项的MyClassAName绑定到每个动态创建的pivotitem的头文件中呢?

谢谢!

1 个答案:

答案 0 :(得分:1)

数据绑定到数据透视表存在已知问题。请参阅此处的解决方法:

DataBound Pivot control is not creating the first PivotItem

此外,标题绑定路径与您的类的name属性不匹配。尝试更改为:

 <controls:PivotItem Header="{Binding MyClassAName}" />