C# 用c语言构造listview#

C# 用c语言构造listview#,c#,wpf,xaml,listview,C#,Wpf,Xaml,Listview,假设我在xaml中有以下列表视图: <ListView Name="myListView" DataContext="{Binding MyProperty}" ItemsSource="{Binding}" IsSynchronizedWithCurrentItem="True"> <ListView.Resources> <Style TargetType="GridViewColumnHea

假设我在xaml中有以下列表视图:

   <ListView Name="myListView" DataContext="{Binding MyProperty}" ItemsSource="{Binding}" IsSynchronizedWithCurrentItem="True">            
        <ListView.Resources>
            <Style TargetType="GridViewColumnHeader">
                <Setter Property="Visibility" Value="Collapsed" />
            </Style>
        </ListView.Resources>
        <ListView.View>
            <GridView >
                <GridViewColumn Width="Auto">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding SomeProperty}" TextAlignment="Center"></TextBlock>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>
资源添加:

  view.Resources.Add(typeof(GridViewColumnHeader), 
    new Style(typeof(GridViewColumnHeader)) 
    { 
      Setters = 
      {
        new Setter(GridViewColumnHeader.VisibilityProperty, Visibility.Collapsed)
      } 
    }
  );
数据模板创建:

  var template = new DataTemplate();

  var textBlock = new FrameworkElementFactory(typeof(TextBlock));
  textBlock.SetBinding(TextBlock.TextProperty, new Binding("SomeProperty"));
  textBlock.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center);

  template.VisualTree = textBlock; 
  var template = new DataTemplate();

  var textBlock = new FrameworkElementFactory(typeof(TextBlock));
  textBlock.SetBinding(TextBlock.TextProperty, new Binding("SomeProperty"));
  textBlock.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center);

  template.VisualTree = textBlock;