2016-10-11 1 views
1

Also das ist meine Syntax in der Unterseite, tatsächlich mache ich einen App Launcher, wann immer ich eine EXE-Datei auswählen wird es ein neues erstellen Start-Taste für es, aber nach dem Ausführen dieses Codes bekomme ich überhaupt keine Antwort, ich habe versucht, den Code für die Herstellung neuer Taste, aber es war das gleiche. Dies ist mein CodeIch versuche, neue Schaltfläche in C# zu erstellen, aber ich denke, meine Syntax ist nicht korrekt

private void AddNewAppBtn_Click(object sender, RoutedEventArgs e) 
{ 
    Functions.addApp(); 
    Button appButton = new Button(); 
    appButton.Content = "Click Me"; 
    appButton.Name = "ButtonA"; 
    var stackPanel = new StackPanel { Orientation = Orientation.Vertical }; 
    stackPanel.Children.Add(appButton); 
} 
+0

Wo wird das StackPanel verwendet? –

Antwort

1

Weil du nicht hinzugefügt hast Ihre Stackpanel zu Ihrem Haupt-Grid oder anderen Layout, das Sie die dynamisch erstellt Stackpanel haben wollen. Zuerst geben Sie Ihre wichtigsten Grid einen Namen wie folgt aus:

XAML:

<Grid Name="mainGrid"> 

Dann am Ende des Codes diese Zeile hinzu:

mainGrid.Children.Add(stackPanel); 
+2

Wie haben Sie das anhand des bereitgestellten Codes herausgefunden? –

+0

@ R.Rusev Offensichtlich hat das OP das 'StackPanel' dynamisch erstellt. Es sind also keine Kinder seines Hauptlayouts. –

+0

Aber er hat nicht den gesamten Code der Funktion gezeigt, so dass Sie sich dessen nicht sicher sein können. Obwohl ich annehme, dass du recht hast. –

1

Erstellen Sie einfach auf den Button in der XAML, nein Code-hinten. Indem Sie dies tun und nur das, können Sie das MVVM-Muster implementieren, das Ihre Wartung weniger schmerzhaft macht.

XAML-Code: <Button Content="MyButton"></Button>

Oder Sie möchten eine Schaltfläche auf cs-Datei erstellen. Es sollte in Ihrem Hauptgitter hinzugefügt werden.

Verwandte Themen