Windows phone 7 从Windows Phone 7中的列表集合绑定列表集合
如何从Windows Phone 7中的列表集合绑定列表集合当我能够从单个列表集合绑定时我认为您的意思是您拥有一个集合集合?在这种情况下,您可以嵌套ItemsControl(或ListBox):Windows phone 7 从Windows Phone 7中的列表集合绑定列表集合,windows-phone-7,windows-phone,Windows Phone 7,Windows Phone,如何从Windows Phone 7中的列表集合绑定列表集合当我能够从单个列表集合绑定时我认为您的意思是您拥有一个集合集合?在这种情况下,您可以嵌套ItemsControl(或ListBox): 首先,在Xaml中有项目模板。 添加绑定到它。 在代码中定义绑定属性。 为定义的属性指定值 我的Xaml中有一个项目模板,如下所示: <Grid.RowDefinitions> <RowDefinition Height="367*" />
首先,在Xaml中有项目模板。 添加绑定到它。 在代码中定义绑定属性。 为定义的属性指定值 我的Xaml中有一个项目模板,如下所示:
<Grid.RowDefinitions>
<RowDefinition Height="367*" />
</Grid.RowDefinitions>
<ListBox HorizontalAlignment="Stretch" Name="lstbNewOrders" Grid.Row="1" HorizontalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid x:Name="itemTemplate" Background="Transparent" HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250"/>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="20"/>
</Grid.RowDefinitions>
<TextBlock FontSize="30" Name="txtEbeln" Text="{Binding ebeln}" Grid.Row="0" Grid.Column="0" FontWeight="Bold" />
<TextBlock FontSize="25" Name="txtCName" Text="{Binding cname}" Grid.Row="1" Grid.Column="0" />
<TextBlock FontSize="25" Name="txtDate" Text="{Binding date}" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Right" TextAlignment="Right"/>
<StackPanel Height="30" Name="stkPanel01" HorizontalAlignment="Right" Grid.Row="0" Grid.Column="1">
<TextBlock FontSize="25" Name="txtNetw" Text="{Binding netw}" HorizontalAlignment="Right" TextAlignment="Right"/>
</StackPanel>
<TextBlock FontSize="25" Name="txtVName" Text="{Binding vname}" Grid.Row="2" Grid.Column="0" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
并提供如下值:
public class itemListForListBox
{
public string ebeln { get; set; }
public string cname { get; set; }
public string vname { get; set; }
public string netw { get; set; }
public string date { get; set; }
}
void fillList()
{
List<itemListForListBox> itemListbox = new List<itemListForListBox>();
itemListForListBox listItem;
for (int i = 0; i < 5;i++ )
{
listItem = new itemListForListBox();
listItem.ebeln = "Name "+i;
listItem.date = "Date "+i;
listItem.vname = "VName "+i;
listItem.netw = "Amount "+ i;
listItem.cname = "CName "+i;
itemListbox.Add(listItem);
}
lstbNewOrders.ItemsSource = itemListbox;
}
void fillList()
{
List itemListbox=新列表();
itemListForListBox列表项;
对于(int i=0;i<5;i++)
{
listItem=新项目ListForListBox();
listItem.ebeln=“Name”+i;
listItem.date=“date”+i;
listItem.vname=“vname”+i;
listItem.netw=“金额”+i;
listItem.cname=“cname”+i;
添加(listItem);
}
lstbNewOrders.ItemsSource=itemListbox;
}
希望这能对你有所帮助。
谢谢。您可以使用下面的代码
<ListBox Name="RouteListBox" ItemContainerStyle="{StaticResource RouteListBoxItemStyle}" SelectedItem="{Binding Model.SelectedRoute,Mode=TwoWay}" ItemsSource="{Binding RouteListCollection}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Tap">
<command:EventToCommand Command="{Binding RouteItemSelectedCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding RouteName}" Style="{StaticResource RoutesStyle}" Grid.Column="1" />
<Border Style="{StaticResource RouteCountBorder}" Visibility="Collapsed" Grid.Column="2">
<TextBlock Style="{StaticResource RoutesCount}" Visibility="Collapsed" Text="{Binding ShopCount,Mode=TwoWay}"></TextBlock>
</Border>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate></ListBox>
假设我们有一个列表框lstbx和一个集合
List <String> listdata = new List<String>();
然后,我们可以将集合直接分配给listbox的项源
ex.
lstbx.ItemSource=listdata;
//确保如果在集合的单个项中存储多个变量,则应为列表框项模板创建自定义数据模板 你能澄清一下你到底想达到什么目的吗?试着用清晰的方式解释这个问题。
listdata.Add("Nazi 1");
or
forloop(expression)
{
listdata.Add("vale")
}
lstbx.ItemSource=listdata;