What does Cannot modify the logical children for this node at this time because a tree walk is in progress mean?
SOLVED!
The problem: I want to update my chart on the GUI every time some data is changed.
myChart.DataContext = MTFdata;
when i do this i gett the error: Cannot modify the logical children for this node at this time because a tree walk is in progress
How I solved it:
Insted of this:
<chartingToolkit:LineSeries DependentValuePath="Key"
IndependentValuePath="Value"
ItemsSource="{Binding}"
IsSelectionEnabled="False"
>
Use This:
<chartingToolkit:LineSeries DependentValuePath="Key"
IndependentValuePath="Value"
ItemsSource="{Binding}"
DataContext="{Binding}"
IsSelectionEnabled="False"
>
Use both ItemsSource="{Binding}"
and DataContext="{Binding}"
Hope this helps!
After playing around more, I think this is a bug in the Silverlight charting toolkit.
The following code causes a reproduceable crash.
int runCount = 0;
private void bindChart(string searchString)
{
List<KeyValuePair<DateTime, int>> dataEmpty = new List<KeyValuePair<DateTime, int>>();
List<KeyValuePair<DateTime, int>> dataFilled = new List<KeyValuePair<DateTime, int>>();
dataFilled.Add(new KeyValuePair<DateTime, int>(DateTime.Today, 1));
if (runCount == 0)
{
Chart1.DataContext= dataEmpty;
}
else
{
Chart1.DataContext = dataFilled;
}
runCount++;
}
XAML:
<charting:Chart Grid.Row="0"
Title="Title"
LegendTitle="Legend" Name="Chart1" Grid.RowSpan="2">
<charting:AreaSeries ItemsSource="{Binding}"
DependentValuePath="Value"
IndependentValuePath="Key"
Background="Red" />
</charting:Chart>
This will fail on the second call to bindChart.
Hej,
I've just had the error, and fixed it as well. The error also accoured when setting the datacontext.
I found that I had a selectionchanged-subscription on the list that was having its datacontext set. In this selectionchanged i was altering another property with notification support, which had a visual element binding on it.
Solved the problem by using the dispatcher for setting the property.
So try look for subscriptions on changes...