2016-10-13 3 views
-2

Lassen Sie mich Ihnen zeigen, was ich in meinem Code haben:ComboBox Schreiben Wörter in einem TXT

public List<String> listQuality = new List<string>(); 
public int qualityChoose; 

InitializeComponent(); 

listQuality.Add("Fastest"); 
listQuality.Add("Fast"); 
listQuality.Add("Simple"); 
listQuality.Add("Good"); 
listQuality.Add("Beautiful"); 
listQuality.Add("Fantastic"); 

foreach (String item in listQuality) 
{ 
    listQualityy.Items.Add(item); 
} 

string textWriteQuality; 
textWriteQuality = "-screen-quality " + qualityChoose + Environment.NewLine; 

File.AppendAllText(@"./arguments.txt", textWriteQuality); 

Aber OFC es nicht funktioniert, ich denke, das Problem ist die „init“ ist, aber ich bin nicht sicher, ich bin Noob bei Codierung es ist mein erstes Programm (Ja ich wiederhole es noch einmal xd)

ich habe einige andere Code übersprungen, die für die Frage nutzlos sind - glaube ich -

+1

Erhalten Sie einen Fehler oder eine Ausnahme? – anmarti

+1

Warum dieser Code? foreach (String item in listQuality) { listQualityy.Items.Add (Element); } –

+1

Was meinen Sie mit "es funktioniert nicht"? Was ist "qualityChoose"? Wenn es ein Problem mit dem Hinzufügen von Elementen zu einer ComboBox ist - siehe hierzu: http://stackoverflow.com/questions/11878217/add-items-to-combobox-in-wpf – PaulF

Antwort

0

Ihre Frage nicht sehr verständlich ist, Übrigens können Sie so etwas wie dieses Beispiel tun

XAML:

<Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition/> 
      <RowDefinition/> 
     </Grid.RowDefinitions> 

     <ComboBox Grid.Row="0" ItemsSource="{Binding listQuality}" SelectedItem="{Binding qualityChoose}"> 
      <ComboBox.ItemTemplate> 
       <DataTemplate> 
        <TextBlock Text="{Binding Item2}"/> 
       </DataTemplate> 
      </ComboBox.ItemTemplate> 
     </ComboBox> 

     <Button Grid.Row="1" Content="Save" Click="Button_Click"/> 

    </Grid> 

Code-Behind:

public List<Tuple<int, String>> listQuality { get; set; } 
     public Tuple<int, String> qualityChoose { get; set; } 

     public MainWindow() 
     { 
      InitializeComponent(); 
      listQuality = new List<Tuple<int, string>>(); 
      listQuality.Add(new Tuple<int, string>(0, "Fastest")); 
      listQuality.Add(new Tuple<int, string>(1, "Fast")); 
      listQuality.Add(new Tuple<int, string>(2, "Simple")); 
      listQuality.Add(new Tuple<int, string>(3, "Good")); 
      listQuality.Add(new Tuple<int, string>(4, "Beautiful")); 
      listQuality.Add(new Tuple<int, string>(5, "Fantastic")); 

      this.DataContext = this; 
     } 

     private void Button_Click(object sender, RoutedEventArgs e) 
     { 
      int quality = qualityChoose.Item1; 
     } 

, wenn Sie auf die Schaltfläche "Speichern" in qualityChoose.Item1 klicken es Ihr Wert

EDIT

statt mit ein Tupel können Sie eine Listeverwendenstring> wie in Ihrer Frage, ändern XAML wie folgt aus:

... 
<ComboBox Grid.Row="0" ItemsSource="{Binding listQuality}" SelectedIndex="{Binding selIndex}"> 
... 

und in Code-Behind "selIndex" Eigenschaft hinzufügen:

public int selIndex { get; set; } 

in dieser Eigenschaft gibt es den Index des ausgewählten String. Dies ist einfacher, aber Sie können nicht den Wert von Qualitäten entscheiden.