Silverlight 3 TabItem Ошибка позиционирования - PullRequest
0 голосов
/ 08 июля 2011

07-06-2011 4:34 |LINK

Привет, В Silverlight 3 мы столкнулись с проблемой размещения TabItem в 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> 

Вывод, когда все вкладки установлены в видимое состояние.

enter image description here

Выводится, когда вкладки E и G. свернуты.

enter image description here

Как видно из скриншота выше, вкладки искажаются при выравнивании.Мы попытались использовать все свойства Alignment для TabItems и TabControl, но это бесполезно.Также обратите внимание, что выравнивание может меняться в зависимости от разрешения экрана.

Есть ли способ решить эту проблему?

Заранее спасибо.

1 Ответ

0 голосов
/ 11 июля 2011

Приведенная выше проблема может быть решена, если мы добавим TabItems динамически через xaml.cs вместо того, чтобы показывать / скрывать TabItems.

...