"вы не поверите".... у меня всё ок. Есть мнение что виновник торжества - стили\темы винды под которой всё запускается. В двух словах: я использовал тему 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>
|
это классическая, ну и т.д. по аналогии
--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
|