Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ListBoxItem与ListViewItem的GridViewColumn绑定_C#_Wpf_Xaml_Listview_Listbox - Fatal编程技术网

C# ListBoxItem与ListViewItem的GridViewColumn绑定

C# ListBoxItem与ListViewItem的GridViewColumn绑定,c#,wpf,xaml,listview,listbox,C#,Wpf,Xaml,Listview,Listbox,我一直在玩gridview,遇到了一个奇怪的行为,绑定到GridViewColumns 使用此XAML: <ListView Name="lv"> <ListView.View> <GridView> <GridViewColumn Header="First" DisplayMemberBinding="{Binding firstName}"/> <GridViewC

我一直在玩
gridview
,遇到了一个奇怪的行为,绑定到
GridViewColumns

使用此XAML:

<ListView Name="lv">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="First" DisplayMemberBinding="{Binding firstName}"/>
            <GridViewColumn Header="Last" DisplayMemberBinding="{Binding lastName}"/>
        </GridView>
    </ListView.View>
</ListView>
而以下不显示数据:

public class Foo : ListBoxItem {               // ListBoxItem
    public string firstName { get; set; }
    public string lastName { get; set; }
}
public partial class MainWindow : Window {
    public MainWindow() {
        InitializeComponent();
        lv.Items.Add(new Foo { firstName = "John", lastName = "Doe" });
        lv.Items.Add(new Foo { firstName = "Jane", lastName = "Smith" });
    }
}
public class Foo : ListViewItem {              // ListViewItem
    public string firstName { get; set; }
    public string lastName { get; set; }
}
public partial class MainWindow : Window {
    public MainWindow() {
        InitializeComponent();
        lv.Items.Add(new Foo { firstName = "John", lastName = "Doe" });
        lv.Items.Add(new Foo { firstName = "Jane", lastName = "Smith" });
    }
}
为什么下面显示数据。。。而以下内容不显示数据

因为
ListView
控件不会为
ListViewItem
生成任何
ListViewItem
容器。对于添加到
Items
ItemsSource
集合的所有其他类型的对象,将生成一个隐式
ListViewItem
容器

有关物品容器的更多信息,请参阅