标签网格绑定内容

时间:2012-03-27 21:55:12

标签: c# wpf xaml data-binding

我按照我想要的方式设置<Grid>每个包含<Label>的单元格。

我想要这个,因为我希望标签在屏幕上有一个固定的位置。例如,如果我有一个数组{"One, "Two", "Three"},它应该在屏幕上显示为:

[One] _ __ _ __ _ _ [Two] _ __ _ __ _ _ [三]

如果那个数组是{"One, "Three"},我希望保留两个空格,如下所示:

[One] _ __ _ __ _ __ _ __ _ < / em> __ _ __ _ ___ [三]

网格处理得很好。

现在我想将这些标签的内容绑定到代码隐藏中的结构,并且很难让标签绑定到我的代码隐藏中的ObservableCollection的特定索引。

2 个答案:

答案 0 :(得分:2)

只需像这样绑定(如果您的集合被定义为资源):

<Label Content="{Binding Source={StaticResource myCollection}, Path=[0]}"/>
<Label Content="{Binding Source={StaticResource myCollection}, Path=[1]}"/>

并且可能使用更简单的TextBlock:

<TextBlock Text="{Binding Source={StaticResource myCollection}, Path=[0]}"/>
<TextBlock Text="{Binding Source={StaticResource myCollection}, Path=[1]}"/>

如果您的收藏集是DataContext对象的属性(例如名为Collection),则绑定如下:

<Label Content="{Binding Path=Collection[0]}"/>
<Label Content="{Binding Path=Collection[1]}"/>

答案 1 :(得分:0)

您可以公开在集合中返回所需索引值的属性。例如。将One绑定到类似的东西:

public string OneValue { get { return Collection[0]; } }