2009-07-23 6 views
4

Existe-t-il un moyen de définir une bordure verticale sur un WPF GridView?Est-ce que GridView de WPF a des bordures verticales?

Ce qui suit fonctionne très bien pour certaines jolies bordures horizontales. Est-il un bon moyen d'ajouter des bordures verticales à la GridView qui vit à l'intérieur de ce ListView?

<Style x:Key="ListViewItemBase" TargetType="{x:Type ListViewItem}"> 
    <Setter Property="BorderThickness" Value="1" /> 
    <Setter Property="BorderBrush" Value="#BABABE" /> 
</Style> 

Merci à l'avance

Répondre

2

essayer ... de http://blogs.microsoft.co.il/blogs/tomershamam/archive/2007/12/16/wpf-listview-vertical-lines-horizontal-as-bonus.aspx

<ScrollContentPresenter x:Name="PART_ScrollContentPresenter" 
      SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"            
      ContentTemplate="{TemplateBinding ContentTemplate}" 
      KeyboardNavigation.DirectionalNavigation="Local" 
      CanContentScroll="{TemplateBinding CanContentScroll}"> 

    <ScrollContentPresenter.Content> 
     <Grid> 
      <!-- Container of vertical and horizontal lines --> 
      <ItemsControl Margin="3,0,0,0" 
          ItemsSource="{Binding Path=TemplatedParent.View.Columns, 
             RelativeSource={RelativeSource TemplatedParent}}"> 
       <ItemsControl.ItemTemplate> 
        <DataTemplate> 
         <Border Width="{Binding Path=ActualWidth}" 
           BorderThickness="0,0,1,0" 
           BorderBrush="{DynamicResource verticalLineColor}" /> 
        </DataTemplate> 
       </ItemsControl.ItemTemplate> 
       <ItemsControl.ItemsPanel> 
        <ItemsPanelTemplate> 
         <StackPanel Orientation="Horizontal" /> 
        </ItemsPanelTemplate> 
       </ItemsControl.ItemsPanel> 

       <!-- Fill background with horizontal lines --> 
       <ItemsControl.Background> 
        <VisualBrush TileMode="Tile" 
           Stretch="None" 
           Viewport="{Binding Source={StaticResource columnHeight}, 
              Converter={StaticResource columnViewportConverter}}" 
           ViewportUnits="Absolute"> 
         <VisualBrush.Visual> 
          <StackPanel HorizontalAlignment="Stretch" 
             VerticalAlignment="Stretch"> 
           <!-- Add Rectangles here for more horizontal lines --> 
           <Rectangle Height="{DynamicResource columnHeight}" 
              VerticalAlignment="Stretch" 
              Fill="{DynamicResource horizontalLineColor1}" 
              Width="1" /> 
           <Rectangle Height="{DynamicResource columnHeight}" 
              VerticalAlignment="Stretch" 
              Fill="{DynamicResource horizontalLineColor2}" 
              Width="1" /> 
          </StackPanel> 
         </VisualBrush.Visual> 
        </VisualBrush> 
       </ItemsControl.Background>   
      </ItemsControl> 
      <ContentControl Content="{TemplateBinding Content}" /> 
     </Grid> 
    </ScrollContentPresenter.Content>           
</ScrollContentPresenter> 
Questions connexes