gpt4 book ai didi

.net - TabControl 填充不适用于经典主题

转载 作者:行者123 更新时间:2023-12-04 08:29:15 30 4
gpt4 key购买 nike

有谁知道为什么 TabControl 的 padding 属性不能用经典主题呈现但适用于 luna 主题?

Classic

Luna

XAML 非常基础。我已经将左填充设为 50,这样问题在屏幕截图中就很明显了。

<!-- Tab control styling -->
<Style TargetType="{x:Type TabControl}">
<Setter Property="BorderBrush" Value="Black" />
<Setter Property="BorderThickness" Value="1,1,1,1" />
<Setter Property="Padding" Value="50,5,10,5" />
<Setter Property="Margin" Value="3.5" />
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlLightBrushKey}}" />
</Style>

我是否缺少有关经典主题的内容,例如所有填充都被忽略了吗?

最佳答案

使用其中一种工具 ShowMeTheTemplateMicrosoft Expression Blend ,您可以查看 Microsoft 针对不同主题默认实现的控件模板。

对于 Windows Classic,TabControl 的控件模板如下所示:

<ControlTemplate TargetType="{x:Type TabControl}">
<Grid ClipToBounds="true" SnapsToDevicePixels="true" KeyboardNavigation.TabNavigation="Local">
...
<TabPanel .../>
<Grid ...>
<Microsoft_Windows_Themes:ClassicBorderDecorator ...>
<ContentPresenter x:Name="PART_SelectedContentHost" Margin="2,2,2,2" .../>
</Microsoft_Windows_Themes:ClassicBorderDecorator>
</Grid>
</Grid>
<ControlTemplate.Triggers>
...
</ControlTemplate.Triggers>
</ControlTemplate>

对于 Luna,它是这样的:

<ControlTemplate TargetType="{x:Type TabControl}">
<Grid ClipToBounds="true" SnapsToDevicePixels="true" KeyboardNavigation.TabNavigation="Local">
...
<TabPanel .../>
<Border ...>
<ContentPresenter x:Name="PART_SelectedContentHost" Margin="{TemplateBinding Padding}" .../>
</Border>
</Grid>
<ControlTemplate.Triggers>
...
</ControlTemplate.Triggers>
</ControlTemplate>

在Luna中,TabControl的Padding绑定(bind)到ContentPresenter的边距;在 Windows Classic 中,边距设置为 2。

我个人认为,这是一个错误。您可能想在 http://connect.microsoft.com/ 上创建错误报告.

作为解决方法,您可以定义自己的内容模板:

<TabControl>
<TabControl.ContentTemplate>
<DataTemplate>
<ContentPresenter Content="{Binding}" Margin="50,5,10,5"/>
</DataTemplate>
</TabControl.ContentTemplate>
...
<TabControl>

关于.net - TabControl 填充不适用于经典主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9745086/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com