private int GetSlidingWindowSize()
{
int tabCount = WorkspaceTabs.Items.Count;
// Note: returning -1 for Home tab being always visible.
// Home tab is not taken account into sliding window
if (tabCount > Configurations.MinTabsBeforeClipping)
{
// Usable tab control width need to exclude tabcontrol menu
int usableTabControlWidth = (int)WorkspaceTabs.ActualWidth - Configurations.TabControlMenuWidth;
int fullWidthTabsVisible = usableTabControlWidth / Configurations.TabDefaultWidth;
if (fullWidthTabsVisible < Configurations.MinTabsBeforeClipping)
return Configurations.MinTabsBeforeClipping - 1;
else
{
if (tabCount < fullWidthTabsVisible)
return tabCount - 1;
return fullWidthTabsVisible - 1;
}
}
else
return tabCount - 1;
}