2011-07-08 32 views
0

07-06-2011 4:34 AM | LINKSilverlight 3 TabItem Positioning Error

嗨, 我们在Silverlight 3中面临TabControl中TabItem的位置问题。我们最多可以显示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> 

输出时所有标签被设置为可见的。

enter image description here

输出时标签E和G折叠。

enter image description here

如从标签上方的屏幕截图可以看出得到扭曲的取向。 我们已经尝试使用TabItems和TabControl的所有对齐属性,但它是没有用的。 另请注意,对齐可以根据屏幕分辨率进行更改。

有没有办法可以对这个问题进行排序?

在此先感谢。

回答

0

如果我们通过xaml.cs动态添加TabItem而不是显示/隐藏TabItems,可以解决上述问题。