我目前正在尝试在WPF中绑定集合中的特定项。以下是一个最好通过示例来解释的例子。
我的XAML代码如下:
<Canvas Name="TaskCanvas" Width="467.667" Height="414">
<Ellipse Name="myElipse" Fill="White" Stroke="Black" Width="126" Height="76"
Canvas.Left="{Binding Path=XPos}" Canvas.Top="{Binding Path=YPos}" />
</Canvas>
现在你可以看到,我只是绑定属性作为椭圆的简单示例,将其定位到x和y轴上来自我的数据源。
我在window_load事件中有C#代码将我的数据源绑定到我的椭圆上,如下所示:
PosClass posclass = new PosClass();
List<PosClass> posClasses = new List<PosClass>();
posclass.YPos = 100;
posclass.XPos= 100;
posClasses.Add(posclass);
posclass.YPos = 0;
posclass.XPos = 0;
posClasses.Add(posclass);
TaskCanvas.DataContext = posClasses;
现在我已经将我的集合绑定到画布容器上。PosClass是一个简单的类,有两个属性:“XPos”和“YPos”。
当我运行代码时,我的椭圆正确地绑定到了数据源,这很好,但由于椭圆没有设置为从集合中取出精确的行,因此它默认采用最后一行,因此将我的椭圆设置为0,0位置。
我想要做的是设置椭圆使用XAML中附加的集合中的第一项,或者如果我有更多的项,比如第10项。同样,我想在XAML中完成这个操作,所以目前我只有绑定到X和Y位置,是否有某种语法可以让我指定使用集合中的哪一行?