thanks for checking my example.
As I could see, you removed the LayoutType and Orientation from the Model to improve the performance.
And you removed the scroll viewer, which I used as a container for the left TabCtrl. This is causing a problem, because sometimes we have more TabItems on the left side than the application could display.
So we use a scroll view to make it possible for the user to scroll through the tabitems TopDown.
In the again modified example attached I use the scrollview again and each time I add 70 TabItems to the TabControl on the left side.
Now I have the problem again, that beside the scrollbar of the ScrollView I have a second one of the DiagramControl, which is not really needed. Is there a way to remove it?
After starting the application now the first diagram is shown properly, but after selecting another tab the new diagram again is only shown after moving the scroll bar a bit. Although it is the same method building the diagram.
And still I have a significant delay between the "MouseButtonDown"- and the "TabItemChanged"-Event. I don't do anything after the "MouseButtonDown", only tracing it. But after selecting different tabs for 5-10 times, the delay between "MouseButtonDown" and "TabItemChanged" is more than 2 seconds on my machine?
Furthermore: It seems to me, that selecting a tab with the tabpopupmenu on the very right side is even slower.
So my questions:
1. How can I remove the second Scrollbar, if I have to use the ScrollView to make the left TabItems scrollable?
2. How could I assure, that the diagram is shown properly after switching to a new TabItem?
3. Do you have any explanation for the delay between "MouseButtonDown" and "TabItemChanged"?