2009-07-23 11 views
4

Gibt es eine Möglichkeit, einen vertikalen Rahmen für ein WPF GridView festzulegen?Hat WPF GridView vertikale Grenzen?

Das folgende funktioniert gut für einige schöne horizontale Grenzen. Gibt es eine gute Möglichkeit, dem GridView, das sich in diesem ListView befindet, vertikale Rahmen hinzuzufügen?

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

Vielen Dank im Voraus

Antwort

2

try this ... von 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>