Привязка дерева данных WPF к списку не обновляется - PullRequest
0 голосов
/ 01 февраля 2011

У меня есть список, связанный с TreeView как:

XAML:

<TreeView Name="browserTree" 
          BorderBrush="DarkSlateGray"
          BorderThickness="1"
          Grid.Row="2"
          Margin="0,3,0,0"
          ItemsSource="{Binding UpdateSourceTrigger=PropertyChanged}">
    <TreeView.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}"/>
        </DataTemplate>
    </TreeView.ItemTemplate>
</TreeView>

C #:

browserTree.DataContext = treeList;

Я обновляю список через:

void QueryChange(string s)
{
    rCM.SetCommand(s);
    treeList.Clear();
    SqlDataReader sr = rCM.ExecuteReader(System.Data.CommandBehavior.Default);
    while (sr.Read())
    {
        treeList.Add((string)sr["tree_hdr"]);
    }
    sr.Close();
}

List<string> на данный момент является лишь заполнителем для более значимого класса данных, который мне еще предстоит реализовать. Но сейчас мне нужно знать, почему TreeView не обновляется, чтобы отразить изменения, внесенные в список.

Ответы [ 2 ]

2 голосов
/ 01 февраля 2011

Попробуйте сделать древовидный список ObservableCollection.

0 голосов
/ 02 февраля 2011

Пожалуйста, проверьте тип вашего treeList, который вы установили как DataContext. Это должна быть коллекция ObservableCollection, отражающая изменения вашей коллекции в пользовательском интерфейсе

Или для быстрого обхода, просто снова установите DataContext после заполнения списка.

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