2017-09-08 1 views
0

Ich habe den folgenden Code:Wpf Knopf Programmatically keine Wirkung

var cellButton = new Button() { Background = new SolidColorBrush( 
Colors.Transparent), BorderThickness = new Thickness(0) }; 

Dann habe ich eine Stackpanel

var stack = new StackPanel() { Orientation = Orientation.Vertical, 
VerticalAlignment= VerticalAlignment.Stretch, HorizontalAlignment= 
HorizontalAlignment.Stretch }; 

cellButton.Content = stack; 

Der Knopf ist das Problem hier. Das scheint überhaupt keinen Einfluss zu haben, mache ich etwas falsch? Ich kann immer noch die Standard-Hintergrund und Standard-Hintergrund (Grau) der Schaltfläche sehen. Ich habe sogar versucht, die Farbe auf etwas anderes zu ändern, nichts.

Also, wie Sie sehen können, musste ich das Stackpanel horizontal und vertikal strecken, um den Hintergrund der Tasten als schmutzige Lösung zu überholen, aber ich kann immer noch den Rand der Taste sehen.

+0

Haben Sie versucht, die Grenze "Deckkraft" auf 0 zu setzen? –

+0

Warum setzen Sie den Inhalt der Schaltfläche auf ein leeres StackPanel? – mm8

+0

In meinem Code ist es nicht leer, ich wollte einfach nicht den ganzen Code für das Stackpanel posten. Der Hintergrund der Stackpane ist weiß. Und das Stackpanel zu strecken hilft – user1702369

Antwort

1

Sind Sie 100% sicher, dass das, was Sie auf dem Bildschirm sehen, die Button ist, die durch den Code erstellt wurde, den Sie hier gepostet haben? Es sei nicht nur transparent sein und hat keinen Inhalt, da Sie Button.Content auf eine leeres StackPanel gesetzt haben, aber es wird Height=auto und Width=auto (Standardeinstellung), also in diesem Fall wird es auf 0

Try Einstellung eingestellt wird Ihre Button.Background und Button.BorderBrush in einer anderen Farbe (zB rot) um zu testen, ob es funktioniert. Setzen Sie auch Button.Width und Button.Height auf hartcodierte Werte nur zum Testen.