Data binding 将列表框绑定到表
我正在开发一个WindowsPhone7应用程序 我有一个包含以下列的表:Data binding 将列表框绑定到表,data-binding,windows-phone-7,listbox,Data Binding,Windows Phone 7,Listbox,我正在开发一个WindowsPhone7应用程序 我有一个包含以下列的表: ID | Name | Description 我想在列表框中显示表中的所有名称。我想确定用户何时选择一行并获取其ID 如何在ListBoxItem中存储ID?如何检索它呢?假设您有一个与每一行相关联的数据对象(我们现在称之为MyDataRow),将列表框的ItemsSource属性设置为MyDataRow实例的集合。然后,在列表框中,将显示成员路径设置为名称。这将使列表框绑定到实际数据对象,但实际显示Name属性的值
ID | Name | Description
我想在列表框中显示表中的所有名称。我想确定用户何时选择一行并获取其ID
如何在ListBoxItem中存储ID?如何检索它呢?假设您有一个与每一行相关联的数据对象(我们现在称之为
MyDataRow
),将列表框的ItemsSource属性设置为MyDataRow
实例的集合。然后,在列表框中,将显示成员路径设置为名称。这将使列表框绑定到实际数据对象,但实际显示Name属性的值
处理SelectionChanged事件时,SelectedItem属性的值将是MyDataRow
类的一个实例,因此可以使用如下代码获取ID:
var id=((MyDataRow)\u myListBox.SelectedItem.id代码>使用绑定是最好的方法。请参见下面的我的代码:
<ListBox x:Name="List1">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding ID}" />
<TextBlock Text="{Binding Name}" Grid.Column="1" />
<TextBlock Text="{Binding Description}" Grid.Column="2" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Grid.Row="2" Text="{Binding ElementName=List1,Path=SelectedItem.ID}" />
//CSharp代码:
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
Collection<Entity> source = new Collection<Entity> {
new Entity{ID = "1", Name = "Name1", Description = "This is Name1"},
new Entity{ID = "2", Name = "Name2", Description = "This is Name2"},
new Entity{ID = "3", Name = "Name3", Description = "This is Name3"},
};
List1.ItemsSource = source;
}
}
public class Entity
{
public string ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
public部分类主页:PhoneApplicationPage
{
//建造师
公共主页()
{
初始化组件();
集合源=新集合{
新实体{ID=“1”,Name=“Name1”,Description=“This is Name1”},
新实体{ID=“2”,Name=“Name2”,Description=“This is Name2”},
新实体{ID=“3”,Name=“Name3”,Description=“This is Name3”},
};
List1.ItemsSource=来源;
}
}
公共类实体
{
公共字符串ID{get;set;}
公共字符串名称{get;set;}
公共字符串说明{get;set;}
}
和。。我在哪里可以学会这样做?我只有一个用XML文件制作的数据源。这应该会有帮助:谢谢,它正在工作。但我还有一个问题。在该表中,我有另一列指示语言(en,es,…),如何将where子句设置为ItemsSource?或者我可以查看一下吗?好的,我发现了: