【发布时间】:2009-11-11 14:24:05
【问题描述】:
我目前正在尝试绑定到 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 位置,是否有某种语法可以让我还指定要使用集合中的哪一行?
【问题讨论】: