Re[3]: ширина TabControl в WPF
От: MxKazan Португалия  
Дата: 20.10.08 18:26
Оценка:
Здравствуйте, InvisibleMan, Вы писали:

IM>Здравствуйте, MxKazan, Вы писали:


MK>>Здравствуйте, InvisibleMan, Вы писали:


IM>>>Ширина (и высота) TabControl'а у меня жестко не задаются (вычислются в зависимости от содержимого).


MK>>Где вычисляются? В твоём коде?

MK>>Тогда и сделай там не просто зависимость от содержимого, а от "максимально широкого содержимого"

IM>Сорри, не уточнил сразу:

IM>"Вычисляются в зависимости от содержимого" — это значит, что Width и Height я не указываю (и в коде не вычисляю). А кусок xaml'а выглядит так:
IM> <Grid>
IM> <Grid.ColumnDefinitions>
IM> <ColumnDefinition Width="Auto" />
IM> <ColumnDefinition Width="*" />
IM> </Grid.ColumnDefinitions>
IM> <TabControl Grid.Column="0" >
IM> <TabItem Header="Tab1">...</TabItem>
IM> <TabItem Header="Tab2">...</TabItem>
IM> </TabControl>
IM>Задавать жестко размеры я не хочу — т.к. пользователь будет менять шрифты. Что делать? Как сделать, чтобы TabControl растягивался по размеру максимально таба.

Ага. Понял тебя. ЭэЭх... Судя по шаблону, внутри TabControl лежит ContentPresenter с именем PART_SelectedContentHost. Он забиндин на свойство TabControl.SelectedContent, которое возвращает контент активного TabItem. Так что боюсь, с таким поведением ничего не поделаешь. Можно правда попробовать вручную регулировать размер TabControl'а при смене шрифта, используя метод UIElement.Measure или свойство UIElement.DesiredSize для содержимого всех TabItem. Я правда никогда не пробовал, но вдруг чё выйдет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.