c# - wpf 更改 tabitem 标题方向
问题描述
我有一个 wpf Tabcontrol,其中两个TabItem选项卡放置在左侧。
现在我想垂直显示标题内容并将标签宽度调整为内容。
像这样的东西。
我尝试使用 Header 模板旋转其中的标签,文本被旋转但选项卡保持其形状。
这是我的模板:
<TabItem.HeaderTemplate>
<DataTemplate>
<Grid>
<Label Content="Hola mundo" Margin="15,0">
<Label.RenderTransform>
<RotateTransform Angle="90"/>
</Label.RenderTransform>
</Label>
</Grid>
</DataTemplate>
</TabItem.HeaderTemplate>
一些建议?
解决方案
您应该能够通过使用以下内容来完成此操作:
<Window x:Class="WpfApp1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="TabStripPlacement" Height="200" Width="250" UseLayoutRounding="True">
<Grid>
<TabControl TabStripPlacement="Left">
<TabControl.Resources>
<Style TargetType="{x:Type TabItem}">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<ContentPresenter Content="{TemplateBinding Content}">
<ContentPresenter.LayoutTransform>
<RotateTransform Angle="270" />
</ContentPresenter.LayoutTransform>
</ContentPresenter>
</DataTemplate>
</Setter.Value>
</Setter>
<Setter Property="Padding" Value="3" />
</Style>
</TabControl.Resources>
<TabItem Header="General">
<Label Content="Content goes here..." />
</TabItem>
<TabItem Header="Security" />
<TabItem Header="Details" />
</TabControl>
</Grid>
</Window>
推荐阅读
- swig - 如何为 std::set 创建一个 swig 自定义类型映射以由本机 python 集包装?
- javascript - 如何在表单上的 5 个文本框中留下一个错误标签消息时制作一个文本框?
- c++ - 错误:请求“list1”中的成员“size”,它是非类类型“float*”
- c++ - 查找函数的所有局部最大值
- flask-sqlalchemy - Python 3 Flask Rest Api: "request.get_json()" 给出 TypeError: 'NoneType' object is not subscriptable
- angular - 安全地重命名 Angular 项目?
- botframework - 我是否可以自动将测试的话语添加到我的 LUIS 模型中而无需审查?
- php - 为什么在 MAMP 上更改我的 php 版本可以修复我的 Apache 阻止端口 80 错误?
- java - 在java中获取昨天的开始日期和时间以及今天的开始日期和时间
- jenkins - 从 Jenkins 作业执行时,Opentest_cli 无法识别 STAF 进程