07-06-2011 4:34 AM | LINK
您好, 我们在Silverlight 3中遇到了一个问题,TabCon在TabControl中的位置。我们最多可以显示9个标签。但问题是,对于不同的用户配置文件,标签的数量可能会减少,即我们相应地折叠不需要的标签。这会创建选项卡显示方式的更改。 下面是代表相同场景的示例代码:
<UserControl x:Class="TabControlTrial.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" >
<Grid x:Name="LayoutRoot">
<Controls:TabControl Name="tbATReportMainMenu" TabStripPlacement="Top" Margin="5" Visibility="Visible">
<Controls:TabItem Name="A" Header="XXXX XXXXX XXXXXX XXXXXX"
Visibility="Visible">
</Controls:TabItem>
<Controls:TabItem Name="B" Header="XXXXXXXXXXX XXXXXXXX XXXXXX XXXXXX"
Visibility="Visible" >
</Controls:TabItem>
<Controls:TabItem Name="C" Header="XXXXXXXXXXX XXXXXXX X XXXXXXXXXXX XXXXXXXX XXXXX XXXXXX"
Visibility="Visible" >
</Controls:TabItem>
<Controls:TabItem Name="D" Header="XXXXXXXXXXX XXXXXXX X XXXXXXX XXXXX XXXXXX"
Visibility="Visible" >
</Controls:TabItem>
<Controls:TabItem Name="E" Header="XXXXXXXXXXX XXXXXXXX XXXXXXXXXXXX XXXXXXXX XXXXXXX XXXXXX"
Visibility=" Visible " >
</Controls:TabItem>
<Controls:TabItem Name="F" Header="XXXXXXXXXXXX XXXXXX XXXXXX X XXXXXXX XXXXXXX XXXXXXX XXXXXX"
Visibility="Visible" >
</Controls:TabItem>
<Controls:TabItem Name="G" Header="XXXXXXXX XXXXXX"
Visibility=" Visible " >
</Controls:TabItem>
<Controls:TabItem Name="H" Header="XXXXXXXX XX XXXXXXX XXXXXX"
Visibility="Visible" >
</Controls:TabItem>
<Controls:TabItem Name="I" Header="XXXXXX XXXXXX XXX XXXX XX XXXXXXX XXXXXX"
Visibility="Visible" >
</Controls:TabItem>
</Controls:TabControl>
</Grid>
将所有标签设置为可见时输出。
标签E和G折叠时的输出。
从上面的屏幕截图中可以看出,Tabs在对齐方式中变形。 我们已经尝试使用TabItems和TabControl的所有Alignment属性,但它没有用。 另请注意,对齐方式可能会根据屏幕分辨率而变化。
有没有办法解决这个问题?
提前致谢。
答案 0 :(得分:0)
如果我们通过xaml.cs动态添加TabItems而不是显示/隐藏TabItems,就可以解决上述问题。