C# 将列表框绑定到一个可观察的集合-想法不足

C# 将列表框绑定到一个可观察的集合-想法不足,c#,.net,wpf,C#,.net,Wpf,我的window类中有一个可观察的集合,我希望能够将它绑定到xaml中的listview。我已经在谷歌上搜索了一个半小时了,我能想到的答案似乎就是“哇,为什么一定要这么精神化?” 如果有人能解释一下,我会非常感激,我的集合叫做“TestItems”,测试项有两个变量——“name”和“type”——都是字符串 我想在我的可观察集合中显示测试项的所有“名称”属性 任何帮助都很感激,我甚至在几分钟内就用C++和Qt来模拟这个问题,但它现在似乎在C语言中回避了我。 当前xaml: <ListBo

我的window类中有一个可观察的集合,我希望能够将它绑定到xaml中的listview。我已经在谷歌上搜索了一个半小时了,我能想到的答案似乎就是“哇,为什么一定要这么精神化?”

如果有人能解释一下,我会非常感激,我的集合叫做“TestItems”,测试项有两个变量——“name”和“type”——都是字符串

我想在我的可观察集合中显示测试项的所有“名称”属性

任何帮助都很感激,我甚至在几分钟内就用C++和Qt来模拟这个问题,但它现在似乎在C语言中回避了我。 当前xaml:

<ListBox Name="ItemsOfData" 
     ItemsSource="{Binding TestItems}" 
     DisplayMemberPath="name" 
     IsSynchronizedWithCurrentItem="True">
</ListBox>

当前C#代码:

public observetecollection TestItems=new observetecollection();
公共部分类主窗口:窗口
{
公共ObservableCollection TestItems=新ObservableCollection();
公共主窗口()
{
初始化组件();
this.DataContext=this.ItemsOfData;
TestItem test=新的TestItem(“名称”、“类型”);
this.TestItems.Add(test);
}
}
替换此:

this.DataContext = this.ItemsOfData;
为此:

this.DataContext = this;
您设置了错误的上下文。您可以使用
输出
窗口检测绑定中的错误。

替换此:

this.DataContext = this.ItemsOfData;
为此:

this.DataContext = this;
您设置了错误的上下文。您可以使用
输出
窗口检测绑定中的错误。

替换此:

this.DataContext = this.ItemsOfData;
为此:

this.DataContext = this;
您设置了错误的上下文。您可以使用
输出
窗口检测绑定中的错误。

替换此:

this.DataContext = this.ItemsOfData;
为此:

this.DataContext = this;

您设置了错误的上下文。您可以使用
输出
窗口来检测绑定中的错误。

这很简单。只要您的集合在viewmodel或代码隐藏中是这样的,并且您将项目添加到该集合中:

   private ObservableCollection<TestItem> _TestItems;
   public ObservableCollection<TestItem> TestItems
   {
   get { return _TestItems;}
   set 
       { 
          _TestItems = value;
          OnPropertyChanged("TestItems");
       }
}
在您的xaml中,如下所示:

<ListBox ItemsSource="{Binding TestItems}"/>

这很简单。只要您的集合在viewmodel或代码隐藏中是这样的,并且您将项目添加到该集合中:

   private ObservableCollection<TestItem> _TestItems;
   public ObservableCollection<TestItem> TestItems
   {
   get { return _TestItems;}
   set 
       { 
          _TestItems = value;
          OnPropertyChanged("TestItems");
       }
}
在您的xaml中,如下所示:

<ListBox ItemsSource="{Binding TestItems}"/>

这很简单。只要您的集合在viewmodel或代码隐藏中是这样的,并且您将项目添加到该集合中:

   private ObservableCollection<TestItem> _TestItems;
   public ObservableCollection<TestItem> TestItems
   {
   get { return _TestItems;}
   set 
       { 
          _TestItems = value;
          OnPropertyChanged("TestItems");
       }
}
在您的xaml中,如下所示:

<ListBox ItemsSource="{Binding TestItems}"/>

这很简单。只要您的集合在viewmodel或代码隐藏中是这样的,并且您将项目添加到该集合中:

   private ObservableCollection<TestItem> _TestItems;
   public ObservableCollection<TestItem> TestItems
   {
   get { return _TestItems;}
   set 
       { 
          _TestItems = value;
          OnPropertyChanged("TestItems");
       }
}
在您的xaml中,如下所示:

<ListBox ItemsSource="{Binding TestItems}"/>

只能绑定到公共属性
需要一个get使其成为公共财产
并且需要修复DataContext

public partial class MainWindow : Window
{
    private ObservableCollection<TestItem> testItems = new ObservableCollection<TestItem>();
    public ObservableCollection<TestItem> TestItems { get { return  testItems ; }

    public MainWindow()
    {
        InitializeComponent();   
        this.DataContext = this;    
        TestItem test = new TestItem("name", "type");    
        this.testItems.Add(test);
    }
}
公共部分类主窗口:窗口
{
私有ObservableCollection testItems=新ObservableCollection();
公共可观测集合测试项{get{return TestItems;}
公共主窗口()
{
初始化组件();
this.DataContext=this;
TestItem test=新的TestItem(“名称”、“类型”);
this.testItems.Add(test);
}
}

只能绑定到公共属性
需要一个get使其成为公共财产
并且需要修复DataContext

public partial class MainWindow : Window
{
    private ObservableCollection<TestItem> testItems = new ObservableCollection<TestItem>();
    public ObservableCollection<TestItem> TestItems { get { return  testItems ; }

    public MainWindow()
    {
        InitializeComponent();   
        this.DataContext = this;    
        TestItem test = new TestItem("name", "type");    
        this.testItems.Add(test);
    }
}
公共部分类主窗口:窗口
{
私有ObservableCollection testItems=新ObservableCollection();
公共可观测集合测试项{get{return TestItems;}
公共主窗口()
{
初始化组件();
this.DataContext=this;
TestItem test=新的TestItem(“名称”、“类型”);
this.testItems.Add(test);
}
}

只能绑定到公共属性
需要一个get使其成为公共财产
并且需要修复DataContext

public partial class MainWindow : Window
{
    private ObservableCollection<TestItem> testItems = new ObservableCollection<TestItem>();
    public ObservableCollection<TestItem> TestItems { get { return  testItems ; }

    public MainWindow()
    {
        InitializeComponent();   
        this.DataContext = this;    
        TestItem test = new TestItem("name", "type");    
        this.testItems.Add(test);
    }
}
公共部分类主窗口:窗口
{
私有ObservableCollection testItems=新ObservableCollection();
公共可观测集合测试项{get{return TestItems;}
公共主窗口()
{
初始化组件();
this.DataContext=this;
TestItem test=新的TestItem(“名称”、“类型”);
this.testItems.Add(test);
}
}

只能绑定到公共属性
需要一个get使其成为公共财产
并且需要修复DataContext

public partial class MainWindow : Window
{
    private ObservableCollection<TestItem> testItems = new ObservableCollection<TestItem>();
    public ObservableCollection<TestItem> TestItems { get { return  testItems ; }

    public MainWindow()
    {
        InitializeComponent();   
        this.DataContext = this;    
        TestItem test = new TestItem("name", "type");    
        this.testItems.Add(test);
    }
}
公共部分类主窗口:窗口
{
私有ObservableCollection testItems=新ObservableCollection();
公共可观测集合测试项{get{return TestItems;}
公共主窗口()
{
初始化组件();
this.DataContext=this;
TestItem test=新的TestItem(“名称”、“类型”);
this.testItems.Add(test);
}
}

那么你现在有什么?它是在mvvm模式中设置的吗?你在哪里创建测试项集合?在代码隐藏中?还是在ViewModel中?这并不是那么困难,但是我必须同意,
WPF
中的许多事情都非常奇怪,这就是为什么它有一个非常陡峭的学习曲线,新手必须努力学习n他是其他领域的专业人士。this.DataContext=this;你需要有一个测试项目来让它成为一个公共属性。那么你现在有什么?它是在mvvm模式中设置的吗?你在哪里创建测试项目集合?在代码隐藏中?还是在ViewModel中?这不是很难,但是我同意很多事情在
WPF
中,它们非常奇怪,这就是为什么它有一个非常陡峭的学习曲线,一个新手必须努力工作,即使他是其他领域的专业人士。this.DataContext=this;你需要有一个入门测试,使它成为一个公共财产那么你现在有什么?它是在mvvm模式中设置的吗?你在哪里创建你的收藏n个测试项目?在代码隐藏中?或在视图模型中?这并不是那么困难,但是我必须同意,
WPF
中的许多事情都非常奇怪,而且