Silverlight Treeview DisplayMemberPath не работает - PullRequest
1 голос
/ 29 сентября 2011

У меня есть ObservableCollection of Patient объектов. Каждый объект Patient имеет свойство Name, Id (int) и список методов лечения. У каждого Therapy есть 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 голосов
/ 29 сентября 2011

у вас не должно быть отображаемого пути к элементу, так как он используется, если вы используете источник элемента и объект, который хочет выбрать значения, используется для дерева.

Вы хотите сделать что-то подобное

    <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, но он должен быть почти правильным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...