2012-07-11 107 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