2009-08-06 48 views
1

我知道这一定是明显的,但我开始用WPF和我坚持:头没有出现在WPF的ListView

我有以下ListView控件(主网的页面上的第二行中) ,内容正在显示,但标题不是!

<ListView Grid.Row="1" Name="container" ItemsSource="{Binding MyCollection}" > 
    <ListView.View> 
     <GridView> 
     <GridViewColumn Width="50" Header="A" DisplayMemberBinding="{Binding A}"/> 
     <GridViewColumn Width="50" Header="B" DisplayMemberBinding="{Binding B}"/> 
     <GridViewColumn Width="50" Header="C" DisplayMemberBinding="{Binding C}"/>    
     </GridView> 
    </ListView.View> 
</ListView> 

任何帮助表示赞赏!

编辑

感谢罗埃尔我能找到在ResourceDictionary中的样式casuing这个问题:

<Style TargetType="{x:Type ListView}" BasedOn="{StaticResource {x:Type ListBox}}"> 
    <Setter Property="BorderBrush" Value="Black"/> 
    <Setter Property="BorderThickness" Value="0"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate> 
       <ScrollViewer Margin="{TemplateBinding Padding}" VerticalScrollBarVisibility="Visible"> 
        <WrapPanel IsItemsHost="True" MinWidth="100" Width="{Binding ActualWidth,RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}"> 
        </WrapPanel> 
       </ScrollViewer> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

我怎样才能保持这种风格对项目的其余部分不应用它到这个特定的listView?

+0

尝试手动设置行的高度以检查ListView的顶部是否刚被隐藏。 – Noldorin 2009-08-06 11:15:27

+1

这个位似乎没有什么问题,XamlPadX显示了带有标题的列表视图。有没有定义覆盖样式的资源? – RoelF 2009-08-06 11:16:05

+0

看编辑,你是对的资源!谢谢 – JohnIdol 2009-08-06 11:24:48

回答

4

您可以覆盖仅用于该列表视图的样式。这可能是最简单的方法:

<ListView Grid.Row="1" Name="container" ItemsSource="{Binding MyCollection}" > 
<ListView.Style> 
    <Style TargetType="{x:Type ListView}"/> 
</ListView.Style> 

<ListView.View> 
     <GridView> 
     <GridViewColumn Width="50" Header="A" DisplayMemberBinding="{Binding A}"/> 
     <GridViewColumn Width="50" Header="B" DisplayMemberBinding="{Binding B}"/> 
     <GridViewColumn Width="50" Header="C" DisplayMemberBinding="{Binding C}"/>    
     </GridView> 
    </ListView.View> 
</ListView> 

希望这有助于!

+0

感谢您的帮助!现在我试图设置头的样式...我可能会发布另一个问题:) – JohnIdol 2009-08-06 12:19:04

+2

我可以节省您的麻烦: 在GridView上定义ColumnHeaderTemplate(而不是ListView.GridView!);-) – RoelF 2009-08-06 12:27:13

+0

感谢您指出我在正确的方向! – JohnIdol 2009-08-06 14:57:57