Кажется, что не удалось обновить ObservableCollection. TreeView показывает пустой. Ошибка: этот тип коллекции не поддерживает изменения в его исходном наборе из потока, отличного от потока диспетчера.WPF ObservableCollection не обновляется?
уровня Класс вар
public ObservableCollection<TSItem> tsItems { get; set; }
Инициализировать Компоненты
tsItems = new ObservableCollection<TSItem>();
bwRun.DoWork += bwRun_DoWork;
InitializeComponent();
tvTest.ItemsSource = tsItems;
от фона рабочего я использую следующий метод, чтобы добавить к коллекции
private void AddTreeViewItem(TSItem item)
{
tsItems.Add(item);
}
XAML
<TreeView x:Name="tvTest" HorizontalAlignment="Left" Height="249" Margin="140,36,0,0" VerticalAlignment="Top" Width="257">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding Icon}" />
<TextBlock Text="{Binding Header}" />
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
Действительно ли вы начинаете свой рабочий стол? Я не смог воспроизвести вашу проблему. – Somedust
да, обновленный пост. Рабочий запускается в событии Loaded. – Tsukasa
tsItems должен быть общедоступным ... – Nahum