У меня настроен элемент управления Telerik RadPageView (Q2 2011 SP1) как ViewMode "Outlook" в моем приложении winforms C #.По моему требованию у меня ограниченное пространство для отображения элемента управления (около 600 пикселей в высоту).Когда к элементу управления добавлено более 5 страниц, панель просмотра (открытая область над селекторами страниц) становится меньше и обрезает содержимое (желтая область на снимках экрана ниже).Я хотел бы знать, есть ли способ установить минимальную высоту в этой области, чтобы элемент управления автоматически свернул селекторы страниц, которые он не может уместить в этом ограниченном пространстве.Мне нужно около 300px высоты для каждой страницы.
Я уже пытался установить свойство MinimumSize для каждого RadPageViewPage.Однако, когда я делаю это, страница просмотра страницы «кровоточит» поверх селекторов страницы.Я ожидал, что ручка (перетаскиваемая часть элемента управления) автоматически изменит размеры, чтобы учесть это требование минимальной высоты.
Пожалуйста, смотрите снимки экрана из моего примера приложения ниже:
Проблема:
![enter image description here](https://i.stack.imgur.com/hlXuX.png)
Требуется:
![enter image description here](https://i.stack.imgur.com/J9ncW.png)
Обновление:
Мне удалось создать функцию, которая программно регулирует положение ручки при срабатывании событий «Инициализация» или «Изменение размера».Я понимаю, что, скорее всего, мне нужно будет вызвать эту функцию, когда выбранная страница также изменится.
В любом случае, вот фрагмент:
private void adjustPageViewGrip()
{
RadPageViewOutlookElement viewElement = (RadPageViewOutlookElement)radPageView.ViewElement;
int minHeight = 300;
int itemHeight = radPageView.SelectedPage.Item.Size.Height;
int selectedPageHeight = radPageView.SelectedPage.Height;
if (selectedPageHeight < minHeight)
{
int hide = (int)Math.Ceiling((double)(minHeight - selectedPageHeight) / (double)itemHeight);
if (hide > 0)
{
viewElement.HideItems(hide);
}
}
else if ((selectedPageHeight + itemHeight) >= minHeight)
{
int show = (int)Math.Floor((double)(selectedPageHeight - minHeight) / (double)itemHeight);
if (show > 0)
{
viewElement.ShowItems(show);
}
}
}
Мне все еще интересно, нужен ли мне этот код.Может ли управление уже сделать это?