2011-10-21 50 views
0

在一個樣式的DataGrid行我有一個網格,它顯示這個奇怪的行爲:對齊頁眉和在Silverlight

My Headers totally oddly aligned

每次我有水平滾動條可用的,我用它,頭得到disaligned與行的單元格。

我的網格樣式是這樣的:

<Style TargetType="sdk:DataGridRow"> 
     <Setter Property="IsTabStop" Value="True" /> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="sdk:DataGridRow"> 
        <localprimitives:DataGridFrozenGrid Name="Root"> 
         <vsm:VisualStateManager.VisualStateGroups> 
          <vsm:VisualStateGroup x:Name="CommonStates"> 
           <vsm:VisualStateGroup.Transitions> 
            <vsm:VisualTransition GeneratedDuration="0" /> 
           </vsm:VisualStateGroup.Transitions> 
           <vsm:VisualState x:Name="Normal" /> 
           <vsm:VisualState x:Name="Normal AlternatingRow"> 
            <Storyboard> 
             <DoubleAnimation Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="Opacity" Duration="0" To="0"/> 
            </Storyboard> 
           </vsm:VisualState> 
           <vsm:VisualState x:Name="MouseOver"> 
            <Storyboard> 
             <DoubleAnimation Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="Opacity" Duration="0" To=".65"/> 
             <ColorAnimationUsingKeyFrames BeginTime="0" Duration="0" Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)"> 
              <SplineColorKeyFrame KeyTime="0" Value="#666666"/> 
             </ColorAnimationUsingKeyFrames> 
            </Storyboard> 
           </vsm:VisualState> 
           <vsm:VisualState x:Name="Normal Selected"> 

            <Storyboard> 
             <DoubleAnimation Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="Opacity" Duration="0" To="5"/> 
             <ColorAnimationUsingKeyFrames BeginTime="0" Duration="0" 
                     Storyboard.TargetName="BackgroundRectangle" 
                     Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)"> 
              <SplineColorKeyFrame KeyTime="0" Value="#ddddff"/> 
             </ColorAnimationUsingKeyFrames> 



             <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" 
                     Duration="00:00:00.0010000" 
                     Storyboard.TargetName="contentControl" 
                     Storyboard.TargetProperty="(Control.FontWeight)"> 
              <DiscreteObjectKeyFrame KeyTime="00:00:00"> 
               <DiscreteObjectKeyFrame.Value> 
                <FontWeight>Bold</FontWeight> 
               </DiscreteObjectKeyFrame.Value> 
              </DiscreteObjectKeyFrame> 
             </ObjectAnimationUsingKeyFrames> 
            </Storyboard> 
           </vsm:VisualState> 
           <vsm:VisualState x:Name="MouseOver Selected" > 
            <Storyboard> 
             <DoubleAnimation Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="Opacity" Duration="50" To="1"/> 
             <ColorAnimationUsingKeyFrames BeginTime="0" Duration="50" Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)"> 
              <SplineColorKeyFrame KeyTime="0" Value="#ccccff"/> 
             </ColorAnimationUsingKeyFrames> 

             <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" 
                     Duration="00:00:00.0010000" 
                     Storyboard.TargetName="contentControl" 
                     Storyboard.TargetProperty="(Control.FontWeight)"> 
              <DiscreteObjectKeyFrame KeyTime="00:00:00"> 
               <DiscreteObjectKeyFrame.Value> 

                <FontWeight>Bold</FontWeight> 
               </DiscreteObjectKeyFrame.Value> 
              </DiscreteObjectKeyFrame> 
             </ObjectAnimationUsingKeyFrames> 



            </Storyboard> 
           </vsm:VisualState> 
           <vsm:VisualState x:Name="Unfocused Selected"> 
            <Storyboard> 
             <DoubleAnimation Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="Opacity" Duration="0" To="1"/> 
             <ColorAnimationUsingKeyFrames BeginTime="0" Duration="0" Storyboard.TargetName="BackgroundRectangle" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)"> 
              <SplineColorKeyFrame KeyTime="0" Value="LightGray"/> 
             </ColorAnimationUsingKeyFrames> 


             <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" 
                     Duration="00:00:00.0010000" 
                     Storyboard.TargetName="contentControl" 
                     Storyboard.TargetProperty="(Control.FontWeight)"> 
              <DiscreteObjectKeyFrame KeyTime="00:00:00"> 
               <DiscreteObjectKeyFrame.Value> 

                <FontWeight>Bold</FontWeight> 
               </DiscreteObjectKeyFrame.Value> 
              </DiscreteObjectKeyFrame> 
             </ObjectAnimationUsingKeyFrames> 
            </Storyboard> 
           </vsm:VisualState> 
          </vsm:VisualStateGroup> 
         </vsm:VisualStateManager.VisualStateGroups> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="*"> 

          </RowDefinition> 
          <RowDefinition Height="Auto"/> 
          <RowDefinition Height="Auto"/> 
         </Grid.RowDefinitions> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="Auto" /> 
          <ColumnDefinition Width="*" /> 
         </Grid.ColumnDefinitions> 

         <!--<Grid.Resources> 
          <Storyboard x:Key="DetailsVisibleTransition"> 
           <DoubleAnimation Storyboard.TargetName="DetailsPresenter" Storyboard.TargetProperty="ContentHeight" Duration="00:00:0.1" /> 
          </Storyboard> 
         </Grid.Resources>--> 

         <Border x:Name="Borda" BorderBrush="Black" BorderThickness="0,1,0,0" ></Border> 
         <Rectangle x:Name="BackgroundRectangle" Grid.RowSpan="2" Grid.ColumnSpan="2" Opacity="0" Fill="#1ca0f2" > 

         </Rectangle> 
         <ContentControl x:Name="contentControl" FontSize="12" > 


          <localprimitives:DataGridCellsPresenter Grid.Column="1" Name="CellsPresenter" localprimitives:DataGridFrozenGrid.IsFrozen="True" > 

          </localprimitives:DataGridCellsPresenter> 
         </ContentControl> 
         <localprimitives:DataGridRowHeader Grid.RowSpan="3" Name="RowHeader" localprimitives:DataGridFrozenGrid.IsFrozen="True" /> 

         <localprimitives:DataGridDetailsPresenter Grid.Row="1" Grid.Column="1" Name="DetailsPresenter" /> 
         <Rectangle Grid.Row="2" Grid.Column="1" Name="BottomGridLine" HorizontalAlignment="Stretch" Height="1" /> 
        </localprimitives:DataGridFrozenGrid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

有一段時間,如果我走定製脫離電網的(碼塊以上)從我的應用程序它的工作原理,但是,我失去了一些視覺樣式,我不想這樣做。

我特別不明白在我的程式化中會發生什麼,因爲我沒有完全理解它。會有人知道嗎?

在此先感謝。

問候!

克萊頓塔斯

回答