Silverlight Treeview DisplayMemberPath无法正常工作

时间:2011-09-28 22:00:13

标签: silverlight treeview

我有一个ObservableCollection的Patient对象。每个Patient对象都有一个Name属性,一个Id(int)和一个Therapies列表。每个疗法都有一个TherapyName(字符串)。我正在使用TreeView来显示像这样的数据

<sdk:TreeView ItemsSource="{Binding PatientList}" DisplayMemberPath="Name" >
            <sdk:TreeView.ItemTemplate>
                <sdk:HierarchicalDataTemplate ItemsSource="{Binding Therapies}" >
                    <TextBlock Text="{Binding TherapyName}"/>
                </sdk:HierarchicalDataTemplate>
            </sdk:TreeView.ItemTemplate>

当我运行它时,它在浏览器内崩溃。当我删除DisplayMemberPath时,它会运行,但我只获得TherapyNames,患者姓名的父元素为空。

1 个答案:

答案 0 :(得分:0)

你不应该有那里的显示成员路径,因为如果你使用的是项源,那就是使用了那个想要选择值的obejct用于树。

你想要做这样的事情

    <sdk:TreeView ItemsSource="{Binding PatientList}" DisplayMemberPath="Name" > 
            <sdk:TreeView.ItemTemplate> 
                <sdk:HierarchicalDataTemplate ItemsSource="{Binding Therapies}" >
<Stackpanel>
                    <TextBlock Text="{Binding TherapyName}"/>
<TextBlock Text="{Binding Name}"/>  
</Stackpanel> 
                </sdk:HierarchicalDataTemplate> 
            </sdk:TreeView.ItemTemplate> 

我已经测试了那一点xaml,但它几乎是正确的