2010-12-07 5 views
0

Je veux remplir une zone de liste/combobox avec des valeurs comme « CPU 1 », « 2 CPU », etc.Comment remplir une zone de liste basée sur Environment.ProcessorCount

Le nombre d'articles sera égal à l'environnement. ProcessorCount.

Je connais l'approche avec les contrôles utilisateur et la programmation C#, mais je veux tout cela en XAML. pourriez-vous s'il vous plaît me montrer quelques directions ou fournir quelques échantillons?

Thx dans Adv

Répondre

2

Vous aurez une certaine certaine forme de code derrière/VM pour ce faire. Vous ne pouvez pas tout faire en xaml.

Je voudrais:

  1. Créer un modèle de vue classe
  2. Créer une propriété sur cette classe qui est une certaine forme de IEnumerable<string>. L'utilisation d'un ObservableCollection<string> ici pourrait être exagérée étant donné que les gens n'ont pas tendance à avoir le nombre de processeurs changer du tout.
  3. Lorsque l'instance de modèle de vue est instancié, Générez vos cordes (c.-à-for(var i = 0; i < Environment.ProcessorCount; ++i) { CpuList.Add(string.Format("CPU {0}", i + 1)); }
  4. Bind votre XAML à ce modèle de vue propriété <ListBox ItemsSource="{Binding CpuList}" /> après avoir réglé le DataSource de la fenêtre de liste ou d'un parent à la vue par exemple de modèle:. someWindow.DataContext = new ViewModelClass();

Doneski!

Questions connexes