2016-07-28 6 views
0

Ich habe ein geladenes Ereignis der Combobox in jeder Datagrid Zeile platziert. Ereignis ist wie folgt.Wie Combobox laden Ereignis auf Winload aufgerufen

private void show(object sender, RoutedEventArgs e) 

    { 

      ComboBox cmb = null; 

      if (sender is ComboBox) 
      { 
       cmb = (sender as ComboBox); 

      } 

      for (var vis = sender as Visual; vis != null; vis = VisualTreeHelper.GetParent(vis) as Visual) 
       if (vis is DataGridRow) 
       { 
        var row = (DataGridRow)vis; 
        break; 


       } 
       cmb.items.add("1","2","3"); 

     } 

Jetzt möchte ich es bei Winload oder einem beliebigen Button-Event als Methode aufrufen. Wie ist das möglich.

+0

Wow. Super verwirrender Code hier. Und bitte schreibe deine Frage neu. * Jetzt möchte ich es bei winload oder einem beliebigen Button-Event als Methode aufrufen * - Was meinst du damit? – lokusking

Antwort

0

Es tut mir leid, aber was Sie sagen, ist nicht möglich. Sie können kein von Combobox geladenes Ereignis von irgendwo finden, da es nicht unter Ihrer Kontrolle steht.

Sie wird intern ausgelöst, wenn die Combobox geladen wird. Daher erhalten Sie die sender als Combobox.

Wenn Sie einfach Werte zur Combobox hinzufügen möchten, sollten Sie die Datenvorlage Ihres Datenrasters an eine bestimmte Quelle binden und die Combobox-Quelle an eine Sammlung binden. Dadurch werden die Elemente anfänglich der Combobox hinzugefügt, während die Anwendung geladen wird, und Sie können die Werte während der Ausführung der Anwendung entsprechend ändern, indem Sie die gebundenen Quellen der Combobox in der Datamaplate ändern.

Verwandte Themen