![](/img/trans.png)
[英]WPF C# : How to get the content size and location dynamically on TabControl
[英]C# WPF how to set tooltip size in a tabcontrol
我有一个tabcontrol,其中每个tabITem都呈现一个非常大的字体符号(请参见下图)
现在,根据上述tabItem char的很大尺寸,工具提示设置为很大。
我想要的是使tabItem符号保持很大,但能够调整工具提示字体的大小。
另外,我不明白为什么对所有子项都随机设置了tabheader工具提示。 我希望它放在Tabheader本身上,而不是到处漂浮!
-编辑---根据要求,这是我的XML的相关部分。 我只包括更短的tab2,但是有几个tabItem,它们的行为都相同。
<!-- +++++++++++++ TAB2 ++++++++++++ -->
<TabItem Name="tabItem2" HorizontalAlignment="Center" Height="80" IsSelected="false" FontSize="{StaticResource TAB_FONTSIZE}">
<TabItem.Header>
<StackPanel>
<TextBlock Text=""/> <-------------unicode symbol very big!
<TextBlock Name="tbTab2" Visibility="Hidden" FontSize="{StaticResource BUTTON_FONTSIZE}" />
</StackPanel>
</TabItem.Header>
<TabItem.Background>
<ImageBrush/>
</TabItem.Background>
</TabItem>
而工具提示设置为隐藏代码
tabItem2.ToolTip = Langs.Word(Langs.eWords.Pallet);
并获得上述unicode char的HUGE大小。
感谢任何帮助
这里的问题是,您直接在TabItem
上设置了字体大小和工具提示,然后由项目的标题和内容“继承”了字体大小和工具提示(字体大小也由其工具提示“继承”了)。 因此,为了满足您的要求,设置这些属性时需要更加精确,即在适当的控件上而不是在TabItem
本身上进行设置。 在您的情况下,以下应该可以正常工作。
您只想对Unicode字符使用大字体,因此仅在显示该字符的控件上设置FontSize
属性:
<TextBlock Text="" FontSize="{StaticResource TAB_FONTSIZE}" />
您希望仅在标题上显示工具提示,因此应在标题上进行设置。 您可以在XAML中执行以下操作:
<TabItem.Header>
<StackPanel ToolTip="My tooltip text">
...
</StackPanel>
</TabItem.Header>
或隐藏在代码中:
var stackPanel = (StackPanel)tabItem2.Header;
stackPanel.ToolTip = "My tooltip text";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.