Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TabControl Рамка, TabControl Рамка 
:(
    Опции темы
updaite
Дата 14.11.2013, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 7.8.2013

Репутация: нет
Всего: нет



Есть TabControl со вкладками, интересует как сделать вкладки в плотную к элементу TabControl.
На картинке показана рамка tabpage по краям видна белая рамка от TabControl, как ее убрать? или изменить цвет.
user posted image
PM MAIL   Вверх
interv
  Дата 29.11.2013, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 24.1.2012

Репутация: нет
Всего: 4



Придумал только через костыль
Код

  <TabItem Header="TabItem" >
    <Grid Background="Red" Margin="-3" />
  </TabItem>

PM MAIL   Вверх
jonie
Дата 29.11.2013, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 2
Всего: 118



выстави
Код

<TabControl Padding="0">



--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
interv
Дата 29.11.2013, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 24.1.2012

Репутация: нет
Всего: 4



Цитата(jonie @ 29.11.2013,  11:32)
выстави
Код

<TabControl Padding="0">

Сам то пробовал?  smile 
PM MAIL   Вверх
jonie
Дата 2.12.2013, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 2
Всего: 118



Цитата(interv @ 29.11.2013,  13:08)
Цитата(jonie @ 29.11.2013,  11:32)
выстави
Код

<TabControl Padding="0">

Сам то пробовал?  smile

конечно нет - я это и без проб знаю.
Но спец для Вас сделал скрин:


Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  2013_12_02_132441.png 48,29 Kb


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
interv
Дата 3.12.2013, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 24.1.2012

Репутация: нет
Всего: 4



Цитата(jonie @ 2.12.2013,  12:25)
Цитата(interv @ 29.11.2013,  13:08)
Цитата(jonie @ 29.11.2013,  11:32)
выстави
Код

<TabControl Padding="0">

Сам то пробовал?  smile

конечно нет - я это и без проб знаю.
Но спец для Вас сделал скрин:

Низнаю, у меня Ваш вариант не прокатил
Код

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Grid>
    <Grid.ColumnDefinitions>
      <ColumnDefinition Width="*"/>
      <ColumnDefinition Width="*"/>
      <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <TabControl>
      <TabItem Header="Default">
        <Grid Background="Red"/>
      </TabItem>
    </TabControl>
    <TabControl Padding="0" Grid.Column="1" >
      <TabItem Header="Your">
        <Grid Background="Red"/>
      </TabItem>
    </TabControl>
    <TabControl Grid.Column="2">
      <TabItem Header="My">
        <Grid Background="Red" Margin="-3" />
      </TabItem>
    </TabControl>
  </Grid>
</Window>


Это сообщение отредактировал(а) interv - 3.12.2013, 16:24

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  Безымянный.png 8,48 Kb
PM MAIL   Вверх
jonie
Дата 3.12.2013, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 2
Всего: 118



"вы не поверите".... у меня всё ок.
Есть мнение что виновник торжества - стили\темы винды под которой всё запускается.

В двух словах: я использовал тему component/themes/aero.normalcolor.xaml из PresentationFramework.Aero.dll  (по умолчанию в windows7+ с включенной аэро темой).

У вас же используется другая тема из PresentationFramework.Classic.dll тема component/themes/classic.xaml

Ок, давайте копнём далее:

Классический стиль:
Код

    <Style x:Key="{x:Type TabControl}" TargetType="{x:Type TabControl}">
        <Setter Property="Foreground" Value="{DynamicResource {x:Static ControlTextBrush}}" />
        <Setter Property="Background" Value="{DynamicResource {x:Static ControlBrush}}" />
        <Setter Property="BorderBrush" Value="{Static ClassicBorderBrush}" />
        <Setter Property="BorderThickness" Value="3" />
        <Setter Property="Margin" Value="0" />
        <Setter Property="Padding" Value="1" />
        <Setter Property="MinWidth" Value="10" />
        <Setter Property="MinHeight" Value="10" />
        <Setter Property="HorizontalContentAlignment" Value="Center" />
        <Setter Property="VerticalContentAlignment" Value="Center" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type TabControl}">
                    <ControlTemplate.Triggers>
                        <Trigger Property="TabStripPlacement" Value="Bottom">
                            <Setter TargetName="HeaderPanel" Property="Row" Value="1" />
                            <Setter TargetName="ContentPanel" Property="Row" Value="0" />
                            <Setter TargetName="RowDefinition0" Property="Height" Value="*" />
                            <Setter TargetName="RowDefinition1" Property="Height" Value="Auto" />
                            <Setter TargetName="HeaderPanel" Property="Margin" Value="2,0,2,2" />
                        </Trigger>
                        <Trigger Property="TabStripPlacement" Value="Left">
                            <Setter TargetName="HeaderPanel" Property="Row" Value="0" />
                            <Setter TargetName="ContentPanel" Property="Row" Value="0" />
                            <Setter TargetName="HeaderPanel" Property="Column" Value="0" />
                            <Setter TargetName="ContentPanel" Property="Column" Value="1" />
                            <Setter TargetName="ColumnDefinition0" Property="Width" Value="Auto" />
                            <Setter TargetName="ColumnDefinition1" Property="Width" Value="*" />
                            <Setter TargetName="RowDefinition0" Property="Height" Value="*" />
                            <Setter TargetName="RowDefinition1" Property="Height" Value="0" />
                            <Setter TargetName="HeaderPanel" Property="Margin" Value="2,2,0,2" />
                        </Trigger>
                        <Trigger Property="TabStripPlacement" Value="Right">
                            <Setter TargetName="HeaderPanel" Property="Row" Value="0" />
                            <Setter TargetName="ContentPanel" Property="Row" Value="0" />
                            <Setter TargetName="HeaderPanel" Property="Column" Value="1" />
                            <Setter TargetName="ContentPanel" Property="Column" Value="0" />
                            <Setter TargetName="ColumnDefinition0" Property="Width" Value="*" />
                            <Setter TargetName="ColumnDefinition1" Property="Width" Value="Auto" />
                            <Setter TargetName="RowDefinition0" Property="Height" Value="*" />
                            <Setter TargetName="RowDefinition1" Property="Height" Value="0" />
                            <Setter TargetName="HeaderPanel" Property="Margin" Value="0,2,2,2" />
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="false">
                            <Setter Value="{DynamicResource {x:Static GrayTextBrush}}" Property="Foreground" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                    <Grid TabNavigation="Local" SnapsToDevicePixels="true" ClipToBounds="true">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Name="ColumnDefinition0" />
                            <ColumnDefinition Name="ColumnDefinition1" Width="0" />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Name="RowDefinition0" Height="Auto" />
                            <RowDefinition Name="RowDefinition1" Height="*" />
                        </Grid.RowDefinitions>
                        <TabPanel Name="HeaderPanel" ZIndex="1" TabIndex="1" Column="0" Row="0" Margin="2,2,2,0" IsItemsHost="true" Background="Transparent" />
                        <Grid Name="ContentPanel" TabNavigation="Local" DirectionalNavigation="Contained" TabIndex="2" Column="0" Row="1">
                            <theme:ClassicBorderDecorator BorderStyle="Raised" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}">
                                <ContentPresenter Name="PART_SelectedContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Margin="2,2,2,2" ContentSource="SelectedContent" />
                            </theme:ClassicBorderDecorator>
                        </Grid>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


Аэро стиль:
Код

    <Style x:Key="{x:Type TabControl}" TargetType="{x:Type TabControl}">
        <Setter Property="Foreground" Value="{DynamicResource {x:Static ControlTextBrush}}" />
        <Setter Property="Padding" Value="4,4,4,4" />
        <Setter Property="BorderThickness" Value="1" />
        <Setter Property="BorderBrush" Value="{StaticResource [0] N}" />
        <Setter Property="Background" Value="#F9F9F9" />
        <Setter Property="HorizontalContentAlignment" Value="Center" />
        <Setter Property="VerticalContentAlignment" Value="Center" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type TabControl}">
                    <ControlTemplate.Triggers>
                        <Trigger Property="TabStripPlacement" Value="Bottom">
                            <Setter TargetName="HeaderPanel" Property="Row" Value="1" />
                            <Setter TargetName="ContentPanel" Property="Row" Value="0" />
                            <Setter TargetName="RowDefinition0" Property="Height" Value="*" />
                            <Setter TargetName="RowDefinition1" Property="Height" Value="Auto" />
                            <Setter TargetName="HeaderPanel" Property="Margin" Value="2,0,2,2" />
                        </Trigger>
                        <Trigger Property="TabStripPlacement" Value="Left">
                            <Setter TargetName="HeaderPanel" Property="Row" Value="0" />
                            <Setter TargetName="ContentPanel" Property="Row" Value="0" />
                            <Setter TargetName="HeaderPanel" Property="Column" Value="0" />
                            <Setter TargetName="ContentPanel" Property="Column" Value="1" />
                            <Setter TargetName="ColumnDefinition0" Property="Width" Value="Auto" />
                            <Setter TargetName="ColumnDefinition1" Property="Width" Value="*" />
                            <Setter TargetName="RowDefinition0" Property="Height" Value="*" />
                            <Setter TargetName="RowDefinition1" Property="Height" Value="0" />
                            <Setter TargetName="HeaderPanel" Property="Margin" Value="2,2,0,2" />
                        </Trigger>
                        <Trigger Property="TabStripPlacement" Value="Right">
                            <Setter TargetName="HeaderPanel" Property="Row" Value="0" />
                            <Setter TargetName="ContentPanel" Property="Row" Value="0" />
                            <Setter TargetName="HeaderPanel" Property="Column" Value="1" />
                            <Setter TargetName="ContentPanel" Property="Column" Value="0" />
                            <Setter TargetName="ColumnDefinition0" Property="Width" Value="*" />
                            <Setter TargetName="ColumnDefinition1" Property="Width" Value="Auto" />
                            <Setter TargetName="RowDefinition0" Property="Height" Value="*" />
                            <Setter TargetName="RowDefinition1" Property="Height" Value="0" />
                            <Setter TargetName="HeaderPanel" Property="Margin" Value="0,2,2,2" />
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="false">
                            <Setter Value="{DynamicResource {x:Static GrayTextBrush}}" Property="Foreground" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                    <Grid TabNavigation="Local" SnapsToDevicePixels="true" ClipToBounds="true">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Name="ColumnDefinition0" />
                            <ColumnDefinition Name="ColumnDefinition1" Width="0" />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Name="RowDefinition0" Height="Auto" />
                            <RowDefinition Name="RowDefinition1" Height="*" />
                        </Grid.RowDefinitions>
                        <TabPanel Name="HeaderPanel" ZIndex="1" TabIndex="1" Column="0" Row="0" Margin="2,2,2,0" IsItemsHost="true" />
                        <Border Name="ContentPanel" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" TabNavigation="Local" DirectionalNavigation="Contained" TabIndex="2" Column="0" Row="1">
                            <ContentPresenter Name="PART_SelectedContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Margin="{TemplateBinding Padding}" ContentSource="SelectedContent" />
                        </Border>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


путём нехитрых сравнений увидим что отличается у ContentPresenter-а Margin свойство: в аэро теме оно биндится на Padding контрола, в классической теме - оно захардкожено в 2.


Исходя из вышесказанного ваш вариант косячный, нужно просто стиль сделать свой на основе (например) того что выше.

Добавлено через 36 секунд
поменять тему для приложения очень легко:
Код

    <Application.Resources>
        <ResourceDictionary Source="/PresentationFramework.Classic,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35,ProcessorArchitecture=MSIL;component/themes/classic.xaml" />
    </Application.Resources>
это классическая, ну и т.д. по аналогии


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0979 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.