2009-03-18 4 views
7

WPF開発に新しく、ListViewがあり、ヘッダー行をフリーズしてスクロールしないようにしたいユーザーがリストをスクロールしたときに表示されます。 XAMLコード、私は継承されてきたが、次のようになります。WPF:ListViewのヘッダー行をフリーズして画面をスクロールさせないようにする方法

<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> 
    <DockPanel> 
    <forms:BindableGrid DockPanel.Dock="Top" [code snipped] > 
    <ListView.View> 
     <GridView> 
     <GridViewColumn Header="ColA" DisplayMemberBinding="{Binding ColA}" /> 
     <GridViewColumn Header="ColB" DisplayMemberBinding="{Binding ColB}" /> 
      [etc] 

答えて

11

ListViewは既にこのない - それは唯一のアイテムではなく、ヘッダをスクロール内部ScrollViewerを持っています。

問題があなたの外ScrollViewerはそれが可能な無限の空間を有し、そしてあなたのListViewが、それはすべてを表示するために必要なスペースを取る終わるのでDockPanelは、その子にこれを伝えること(DockPanel)その子に伝えることですアイテムと内部ScrollViewerは表示されません。

ScrollViewerを取り去った場合、ListViewはスペースが限られていることを認識し、ScrollViewerという内部情報が表示されます。

これは明らかにあなたのDockPanelの残りの部分に影響しますので、私は何が起こっているのかを見てそこから進みます。

+0

素晴らしい!それが修正されました、ありがとうございます。 – hamishmcn

+0

ブリリアント。プロンプトを表示するだけで、私が望む方法でListViewの表示を取得する必要がありました。これらのような状況では、スクロールビューアーは必要ありません... – AndyUK

関連する問題