2012-07-11 111 views
0

我想将项目添加到工具箱的列表选择器控件。 我正在这样做。按循环将项目添加到列表选择器

for (int i = 0; i < cstringl.Length; i++) 
{ 
    listPickerCountrySignup.Items.Add(cstringl[i]); 
} 

这里是我的XAML。

<toolkit:ListPicker x:Name="listPickerCountrySignup" SelectionChanged="listPickerCountry_SelectionChanged" Height="72" HorizontalAlignment="Left" Margin="14,43,0,0" VerticalAlignment="Top" Width="436" FullModeHeader="Select Country" Background="White" BorderBrush="White" Foreground="{StaticResource listPickerBrush}" Style="{StaticResource ListPickerStyle1}"> 
         <toolkit:ListPicker.ItemTemplate> 
          <DataTemplate> 
           <StackPanel Orientation="Horizontal"> 
            <TextBlock Text="{Binding Country}" Width="300" /> 
           </StackPanel> 
          </DataTemplate> 
         </toolkit:ListPicker.ItemTemplate> 
         <toolkit:ListPicker.FullModeItemTemplate> 
          <DataTemplate> 
           <StackPanel Orientation="Horizontal"> 
            <TextBlock Text="{Binding Country}" Width="300" Margin="0,0,0,20" FontSize="24"/> 
           </StackPanel> 
          </DataTemplate> 
         </toolkit:ListPicker.FullModeItemTemplate> 
        </toolkit:ListPicker> 

但它没有显示在UI中,因为我在XAML中绑定了,但是我通过循环从代码后面添加了项目。没有项目源绑定。如何在该列表中显示项目..

回答

1

您必须执行一些数据绑定。

ObservableCollection<T> ListPickerItems = new ObservableCollection<T>(); 
for (int i = 0; i < cstringl.Length; i++) 
{ 
    ListPickerItems .Add(cstringl[i]); 
} 

在XAML:

<toolkit:ListPicker ItemsSource={Binding ListPickerItems} ... /> 
+1

或者只是listPickerCountrySignup.ItemsSoruce = cstringl;但第一种解决方案更好。 – laszlokiss88 2012-07-11 12:43:32

+0

我不想要任何形式的绑定..有没有其他方式没有约束力 – 2012-07-11 12:56:10

+0

请参阅我的评论。 – laszlokiss88 2012-07-11 12:56:54