标题未显示在WPF ListView中

标题未显示在WPF ListView中,wpf,listview,layout,Wpf,Listview,Layout,我知道这一定很明显,但我从WPF开始,我被卡住了: 我看到了下面的ListView(在页面主网格的第二行),显示了内容,但标题没有显示 <ListView Grid.Row="1" Name="container" ItemsSource="{Binding MyCollection}" > <ListView.View> <GridView> <GridViewColumn Width="50" Header="A"

我知道这一定很明显,但我从WPF开始,我被卡住了:

我看到了下面的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>

感谢您的帮助

编辑

感谢Roel,我在resourceDictionary中找到了导致此问题的样式:

<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?

您可以仅为该listView覆盖该样式。这可能是最简单的方法:

<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>


希望这有帮助

您可以仅为该listview覆盖样式。这可能是最简单的方法:

<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>


希望这有帮助

尝试手动设置行的高度,以检查ListView的顶部是否刚刚被隐藏。此位似乎没有任何问题,XamlPadX显示带有标题的ListView。是否定义了任何可能会覆盖样式的资源?请参阅编辑,您对资源的看法是正确的!Thanksry手动设置行的高度,以检查ListView的顶部是否刚刚被隐藏。此位似乎没有任何问题,XamlPadX显示了一个带有标题的ListView。是否定义了任何可能会覆盖样式的资源?请参阅编辑,您对资源的看法是正确的!谢谢你的帮助!现在我正在尝试样式的标题。。。我可能会发布另一个问题:)我可以省去您的麻烦:在GridView(而不是ListView.GridView!)上定义ColumnHeaderTemplate;-)谢谢你的帮助!现在我正在尝试样式的标题。。。我可能会发布另一个问题:)我可以省去您的麻烦:在GridView(而不是ListView.GridView!)上定义ColumnHeaderTemplate;-)