如何从列表中绑定元素<&燃气轮机;到WPF中的对象(在本例中为矩形)?

如何从列表中绑定元素<&燃气轮机;到WPF中的对象(在本例中为矩形)?,wpf,list,data-binding,element,Wpf,List,Data Binding,Element,我创建了以下列表: private List<CounterElementViewModel> _counterElement = new List<CounterElementViewModel>(); public List<CounterElementViewModel> CounterElement { get { return _counterElement; } set { _counterElement = value; } }

我创建了以下列表:

private List<CounterElementViewModel> _counterElement = new List<CounterElementViewModel>();

public List<CounterElementViewModel> CounterElement
{
    get { return _counterElement; }
    set { _counterElement = value; }
}
private List_counterElement=new List();
公共列表计数器元素
{
获取{return\u counterElement;}
设置{u counterElement=value;}
}
我已经创建了30个矩形。每个矩形都应该是“CounterElementViewModel”,因此我有一个包含30个“CounterElementViewModel”的列表

我尝试将列表中的每个元素绑定到30个矩形中的一个:

<local:CounterElementView DataContext="{Binding CounterElement[29]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[28]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[27]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[26]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[25]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[24]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[23]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[22]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[21]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[20]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[19]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[18]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[17]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[16]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[15]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[14]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[13]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[12]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[11]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[10]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[9]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[8]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[7]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[6]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[5]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[4]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[3]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[2]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[1]}"/>
<local:CounterElementView DataContext="{Binding CounterElement[0]}"/>


每个矩形都应该根据数据改变其颜色,但此时不会发生任何变化。我做错了什么吗?

没有足够的上下文来重现问题并回答问题。你能举一个完整的例子吗?我只想知道我绑定列表元素的语法是否正确-->{Binding ListName[index]}嗨,你的方法有点错误:你的方法看起来不错。尝试使用DataContextChanged事件调试元素,您将看到在运行时绑定的内容。