@KirkKuykendall1 and @StephenRhea_NV5
Thank you for your answers. Both ScrollViewer and ListBox functon the same in terms of scrolling but ListBox changed the design a little bit, so I decided to use ScrollViewer. However, neither of them was scrolling if the controls fit inside in it. Furthermore, when DockPane floating scroll bar was not auto adjusting
So, I created an event which adjust the height of ScrollViewer when UserControl's size changed. Now, it works fine and adapts the height when dockpane size changes.
Here is the code not proper MVVM but it works
private void KSDEUserControl_SizeChanged(object sender, SizeChangedEventArgs e)
{
StackPScrollViewer.Height = KSDEUserControl.ActualHeight;
}