WP7使用DataTemplate从代码中数据绑定到Listbox

时间:2011-09-19 09:16:56

标签: data-binding windows-phone-7 dynamic listbox

以下是我用来显示列表框的XAML:

<ListBox x:Name="groupedList" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
          <ListBox.ItemTemplate>
                <DataTemplate x:Name="myTemplate">
                    <StackPanel Orientation="Vertical">
                        <TextBlock Grid.Row="0" FontWeight="Bold" x:Name="templateHeader" />
                        <TextBlock Grid.Row="1" x:Name="templateCaption"/>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

问题是必须在代码中创建数据绑定,因为每次都有不同的数据。 (事实上​​,数据是通过在sql中使用带有动态选择字段的索引器[]来实现的。我现在的问题是如何从代码中将数据绑定应用于列表框和DataTemplate。据我所知,无法访问DataTemplate中定义的项目....任何人都可以帮忙吗?

这是我到目前为止的尝试:

Binding binding = new Binding("["+CaptionField+"]");
        binding.Source = this.controller.table.Rows;
        binding.Mode = BindingMode.TwoWay;
        BindingOperations.SetBinding(this.groupedList.Items, ItemsControl.ItemsSourceProperty, binding);
        this.groupedList.SetBinding(null, binding);

1 个答案:

答案 0 :(得分:0)

我打算给你一个简单的例子,但我认为有很多更好的例子,所以请看一下这些网站,看它是否有帮助: WP7 - listbox Binding

listbox-data-binding

如果有任何不清楚的地方,请发表评论。