2013-03-29 17 views
0

我在datagrid列标题中使用值为“Collapsed”的属性“SeparatorVisibility”来禁用标题之间的分隔符。 它正常工作时,我的变焦是在我的导航“正常”:Silverlight whith SeparatorVisibility在Headerstyle中折叠

enter image description here

但变焦时使用:

enter image description here

隔板是可见的,我不明白为什么!

这里我的ressource词典:

<ResourceDictionary 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:dataprimitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data" 
xmlns:s="clr-namespace:System;assembly=mscorlib"> 

<!--Style de l'entête double ligne sans titre au dessus--> 
<Style x:Name="HeaderDoubleLine" TargetType="dataprimitives:DataGridColumnHeader" > 
    <!--"#FFC9CACA"--> 
    <Setter Property="Foreground" Value="#FF000000"/> 
    <Setter Property="HorizontalContentAlignment" Value="Left"/> 
    <Setter Property="VerticalContentAlignment" Value="Center"/> 
    <Setter Property="IsTabStop" Value="False"/> 
    <Setter Property="SeparatorBrush" Value="Transparent"/> 
    <Setter Property="SeparatorVisibility" Value="Collapsed"/> 
    <Setter Property="Padding" Value="8"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="dataprimitives:DataGridColumnHeader"> 

       <Grid x:Name="Root"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition/> 
         <ColumnDefinition Width="Auto"/> 
        </Grid.ColumnDefinitions> 
        <VisualStateManager.VisualStateGroups> 
         <VisualStateGroup x:Name="CommonStates"> 
          <VisualState x:Name="Normal"/> 
          <VisualState x:Name="MouseOver"> 
           <Storyboard> 
            <ColorAnimation Duration="0" 
               Storyboard.TargetName="BackgroundRectangle" 
               Storyboard.TargetProperty="(Fill).Color" To="#FF448DCA"/> 
            <ColorAnimation Duration="0" 
               Storyboard.TargetName="BackgroundGradient" 
               Storyboard.TargetProperty="(Fill).(GradientStops)[3].Color" To="#7FFFFFFF"/> 
            <ColorAnimation Duration="0" 
               Storyboard.TargetName="BackgroundGradient" 
               Storyboard.TargetProperty="(Fill).(GradientStops)[2].Color" To="#CCFFFFFF"/> 
            <ColorAnimation Duration="0" 
               Storyboard.TargetName="BackgroundGradient" 
               Storyboard.TargetProperty="(Fill).(GradientStops)[1].Color" To="#F2FFFFFF"/> 
           </Storyboard> 
          </VisualState> 
          <VisualState x:Name="Pressed"> 
           <Storyboard> 
            <ColorAnimation Duration="0" 
               Storyboard.TargetName="BackgroundRectangle" 
               Storyboard.TargetProperty="(Fill).Color" To="#FF448DCA"/> 
            <ColorAnimation Duration="0" 
               Storyboard.TargetName="BackgroundGradient" 
               Storyboard.TargetProperty="(Fill).(GradientStops)[0].Color" To="#D8FFFFFF"/> 
            <ColorAnimation Duration="0" 
               Storyboard.TargetName="BackgroundGradient" 
               Storyboard.TargetProperty="(Fill).(GradientStops)[1].Color" To="#C6FFFFFF"/> 
            <ColorAnimation Duration="0" 
               Storyboard.TargetName="BackgroundGradient" 
               Storyboard.TargetProperty="(Fill).(GradientStops)[2].Color" To="#8CFFFFFF"/> 
            <ColorAnimation Duration="0" 
               Storyboard.TargetName="BackgroundGradient" 
               Storyboard.TargetProperty="(Fill).(GradientStops)[3].Color" To="#3FFFFFFF"/> 
           </Storyboard> 
          </VisualState> 
         </VisualStateGroup> 
         <VisualStateGroup x:Name="SortStates"> 
          <VisualState x:Name="Unsorted"/> 
          <VisualState x:Name="SortAscending" /> 
          <VisualState x:Name="SortDescending" /> 
         </VisualStateGroup> 
        </VisualStateManager.VisualStateGroups> 
        <Rectangle x:Name="BackgroundRectangle" Fill="#FF1F3B53" Stretch="Fill" Grid.ColumnSpan="2" /> 
        <Rectangle x:Name="BackgroundGradient" Stretch="Fill" Grid.ColumnSpan="2"> 
         <Rectangle.Fill> 
          <LinearGradientBrush EndPoint=".7,1" StartPoint=".7,0"> 
           <GradientStop Color="#FCFFFFFF" Offset="0.015"/> 
           <GradientStop Color="#F7FFFFFF" Offset="0.375"/> 
           <GradientStop Color="#E5FFFFFF" Offset="0.6"/> 
           <GradientStop Color="#D1FFFFFF" Offset="1"/> 
          </LinearGradientBrush> 
         </Rectangle.Fill> 
        </Rectangle> 
        <StackPanel HorizontalAlignment="Stretch"> 

         <Rectangle Margin="0,20,0,0" Fill="#FFC9CACA" VerticalAlignment="Stretch" Stretch="Fill" Width="Auto" Height="1" Visibility="Visible" /> 

         <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch"> 
          <Rectangle Margin="-1,0,0,0" Fill="#FFC9CACA" VerticalAlignment="Stretch" HorizontalAlignment="Right" Stretch="Fill" Width="1" Height="20" Visibility="Visible" /> 
          <ContentPresenter Margin="5,0,0,0" Content="{TemplateBinding Content}" VerticalAlignment="Center" HorizontalAlignment="right"/> 
         </StackPanel> 

        </StackPanel> 

       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

我申请的每个列标题,我想改变这种风格的头。

+0

我以为Silverlight是一个独立的插件,它不应该使用什么浏览器,所以应该在所有内容中显示相同的内容?有趣... –

+0

经过一些测试后,我很抱歉,我发现它不是导航问题。当我使用导航器的缩放功能时会出现问题。我使用此新信息更新了主题 –

+0

我发现的唯一解决方案是使用以下命令禁用浏览器缩放:Application.Current.Host.Settings.EnableAutoZoom = false ;. –

回答

0

我发现的唯一解决方案是使用以下命令禁用浏览器缩放:Application.Current.Host.Settings.EnableAutoZoom = false ;. - FabriceMainguené4月2日9:43