WPF TreeView, добавление элементов в TreeViewItem.Expanded сбоев - PullRequest
0 голосов
/ 20 мая 2019

Мне нужно динамически загружать данные, когда пользователь расширяет древовидное представление.

Мой код выглядит следующим образом.

XAML:

<TreeView 
   ItemsSource="{Binding MasterList}"
   x:Name="treeViewOrg"
   TreeViewItem.Expanded="TreeViewItem_Expanded"
   VirtualizingStackPanel.IsVirtualizing="True" 
   VirtualizingStackPanel.VirtualizationMode="Recycling">

CS:

private void TreeViewItem_Expanded(object sender, RoutedEventArgs e)
{
    TreeViewItem tvi = e.OriginalSource as TreeViewItem;
    if (tvi != null)
    {
        try
        {
            HybridOrganAndBuddy org = tvi.DataContext as HybridOrganAndBuddy;

            if (org.part_code != null)
            {
                loadFriendData(org.part_code, org);
            }
        }
        catch(Exception ee)
        {
            Console.WriteLine(ee);
        }
    }
}

Метод loadFriendData загружает данные с сервера через HTTP-пост и добавляет их в список, который связан как «MasterList».

Но приложение вылетает сразу после того, как я попробую это.

Трассировка ошибки выглядит следующим образом: (я перевел ее с моего местного языка) System.InvalidOperationException: ItemsControl не соответствует его

Любые советы будут приветствоваться.

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