2015-07-13 2 views
0

В настоящее время я создаю приложение Windows Phone 8.1 для друга, который владеет баром. У меня есть массив строк, который содержит 30 названий шутеров, с разными вкусами. Целью этого приложения является случайное выбор элемента из этого массива, нажатие на кнопку и отображение выбранного элемента в TextBlock.Добавление и отображение элементов в списке C#

Эта часть работает.

Теперь я хочу добавить имя выбранного снимка в список, отображаемый в ListBox, для каждого нажатия кнопки и сортировать список по алфавиту.

Это будет проще при заказе (в случае большой группы друзей).

Теперь мой код с shorthened массива (от 30 до 4 пунктов):

public string[] Shooters = new string[4] {"B52", "Baby Guinness", "Bizu", "Jedi"}; 


    public List<string> Commande = new List<string>(); 
    public void ChoixShot_Click(object sender, RoutedEventArgs e) 
    { 
     Random ran = new Random(); 

     string name = null; 
     int ind = 0; 
     ind = ran.Next(0, Shooters.Length); 
     name = Shooters[ind]; 
     Sanction.DataContext = name; 
     Commande.Add(name); 
     Commande.Sort(); 
     ListeCommande.ItemsSource = Commande;    
    } 

Он отображает только имя, выбранное с первым щелчком.

Спасибо за учитывая мой вопрос, и тратить время для меня :)

+0

Не могу сказать, что это именно ваша проблема, но вы должны инициализировать ваш 'Random 'once (т. е. сделать его свойством класса или членом) вместо каждого нажатия кнопки. – crashmstr

+0

, так что теперь вы можете видеть только 1-й пункт? –

+0

@crashmstr, я постараюсь сделать это. EDIT: Я пробовал, он не решает мою проблему. –

ответ

1

Это работает для меня:

class Program 
    { 
     public string[] Shooters = new string[4] { "B52", "Baby Guinness", "Bizu", "Jedi" }; 
     public List<string> Commande = new List<string>(); 

     static void Main(string[] args) 
     { 

      Random ran = new Random(); 
      Program shots = new Program(); 

      string name = null; 


      name = Convert.ToString(ran.Next(0, shots.Shooters.Length)); 
      Sanction.DataContext = name; 
      Commande.Add(name); 
      Commande.Sort(); 
      ListeCommande.ItemsSource = Commande;  

     } 
    } 
+0

Я пытаюсь, и я говорю вам! –