0

我正在ListPickerDataTemplate. 我读过的所有示例都假定 ListItem 是绑定的复杂对象,因此可以使用通常的Binding Property语法引用对象的属性。例如

this.myListPicker.Items.Add(new Profile() { Name = "Joe", 
    Occupation="Button pusher" });

在 XAML 中,

<DataTemplate>
    <StackPanel>
        <TextBox Text="{Binding Name}" />
        <TextBox Text="{Binding Occupation}" />
    </StackPanel>
</DataTemplate>

但是,我的 ListPickers 绑定到一个List简单strings的字符串,并且字符串上似乎没有实际引用该字符串的属性。

如何获得内部字符串的句柄,DataTemplate以便我可以将它们分配给TextBox模板中的例如?

4

1 回答 1

1

在您展示的示例代码中,您确实有一个“复杂”对象、一个配置文件,并且您指定的绑定应该可以工作。

如果您真的只是将字符串作为项目,那么 ItemTemplate 中的绑定将如下所示:

<TextBox Text="{Binding }" />

相关细节是所有ItemsControls(和ListPicker似乎是一个)将每个项目的视图的DataContext设置为项目。上面的绑定语法意味着“绑定到源本身”,除非另有说明(如使用 Source 或 RelativeSource 等),否则任何绑定的源都是 DataContext。

MSDN在此处有更多详细信息。

于 2013-02-27T21:44:46.523 回答