2011-01-31 7 views
0

GridViewのアイテムエリアを非表示にして、列見出しのみが表示されるようにしたい。列見出しの下の部分は非表示(折りたたまれている)になっている必要があります。 は、ここに私の無益な試みです:どのように私はリストビューでGridViewのGridView hideアイテムエリア

答えて

1

の項目エリア(列ヘッダー下の部分)を非表示にすることができます

 <ListView ItemsSource="{Binding .}"> 
     <ListView.ItemsPanel> 
      <ItemsPanelTemplate> 
       <StackPanel Height="0" Visibility="Collapsed"></StackPanel> 
      </ItemsPanelTemplate> 
     </ListView.ItemsPanel> 

     <ListView.View> 
      <GridView> 
       <GridViewColumn Header="Name" /> 
       <GridViewColumn Header="Size" /> 
       <GridViewColumn Header="Date" /> 

      </GridView> 
     </ListView.View> 
    </ListView> 

だから私の質問は、ヘッダはGridViewHeaderRowPresenterを使用して示されています。ヘッダー行のみを表示する場合は、このオブジェクトを使用して、必要な列を列挙します。あなたの例では:

EDIT

//resources 
<Window.Resources> 
    <GridViewColumnCollection x:Key="HeaderColumns"> 
     <GridViewColumn Header="Name" /> 
     <GridViewColumn Header="Size" /> 
     <GridViewColumn Header="Date" /> 
    </GridViewColumnCollection> 
</Window.Resources> 

//in layout 
<GridViewHeaderRowPresenter Columns="{StaticResource HeaderColumns}" /> 

HTH

+0

こんにちはミシェル、あなたの答えに感謝。残念ながらそれは動作していません。まず、GridViewColumnを囲むものが何であるかはわかりません。私はそれを削除しましたが、GridViewColumnsが追加されたときにGridViewHeaderRowPresenter.Columnsがnullであるというエラーが発生しました。私はXamlPadと私のプログラムで試しました。 – thumbmunkeys

+0

私はこの例にいくつかの変更を加えました。 – michele

+0

素晴らしい、ありがとう! – thumbmunkeys