[英]add a textblock just before first tabitem wpf
我想在第一個選項卡項目之前在TabControl上顯示公司名稱。
我試圖直接在TabControl中添加一個TextBlock。 但是,似乎在第一個TabItem之前添加了一個沒有任何標題的新TabItem,並且在該新創建的TabItem中,我得到了公司的名稱。
這是代碼:
<TabControl>
<TextBlock Text="MyCompanyName" />
<TabItem Header="FirstTabITem" />
<TabItem Header="SecondTabITem" />
</TabControl>
這是WPF的限制嗎?
我相信您要執行的操作是覆蓋默認TabControl.Template
圍繞<TabPanel>
的XAML。 我過去做過一次,還不錯。
如果您具有Blend,則可以輕松創建TabControl.Template
的副本以進行修改,或者可以在此處找到示例MSDN模板並從中進行工作。
如果使用MSDN示例模板,只需將<TabPanel>
包裝在其他東西(例如DockPanel
,然后在其中添加帶有公司名稱的<TextBlock>
。
<Style TargetType="{x:Type TabControl}">
...
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabControl}">
<Grid KeyboardNavigation.TabNavigation="Local">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<DockPanel Grid.Row="0">
<TextBlock Text="Company Name" DockPanel.Dock="Left" />
<TabPanel Name="HeaderPanel" IsItemsHost="True" ... />
</DockPanel>
...
</Grid>
</ControlTemplate>
</Setter.Value>
</Style>
使用它可能對您有幫助
<TabItem Header="My Company Name" IsEnabled="False"/>
<TabItem Header="FirstTabITem" />
<TabItem Header="SecondTabITem" />
</TabControl>
編輯第一個標簽項的樣式,如下所示。
<TabControl Margin="20">
<TabItem IsEnabled="False" >
<TabItem.Style>
<Style TargetType="TabItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<TextBlock Text="My Company" Margin="0,0,5,0"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TabItem.Style>
</TabItem>
<TabItem Header="FirstTabITem" IsSelected="True"/>
<TabItem Header="SecondTabITem" />
</TabControl>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.