Hallo liebes Forum.
Ich bin grad dabei, mir ne kleine Funktion zu schreiben, der meine Elemente mittig im Bildschirm Positionieren soll.
Mein problem ist, wie kann ich dies erweitern, dass wenn ich mehr als nur 1 element habe?
So sieht meine Funktion aus
public double Rechnen(double displayWidth, int anzahlElem, double widthElem)
{
double marginLeft = (displayWidth - (anzahlElem * widthElem)) / 2;
return marginLeft;
}
aufrufen tu ich dies so
public MainWindow()
{
InitializeComponent();
double Width = System.Windows.SystemParameters.PrimaryScreenWidth;
double Height = System.Windows.SystemParameters.PrimaryScreenHeight;
btnTest.Width = 100; btnTest2.Width = 100;
double marginBtnLeft = Rechnen(Width, 2, 100);
Thickness margin = btnTest.Margin;
margin.Left = marginBtnLeft;
btnTest.Margin = margin;
}
Ich hab mir überlegt, dies in eine Schleife zu packen & nach jedesmal nachdem er eine Breite gesetzt hat & den Margin ausgeführt hat, den neuen Margin um die länge des Elements zu erhöhen + nochmal um weitere 50 oder 100, damit sie nicht direkt nebeneinander liegen.
Ausehen sollte dies eigentlich im grunde (von der Positionierung her) so.
In windows-forms anwendung bekomm ich dies im Designer hin, in WPF leider nicht 😕
Dafür brauchst Du in deinem Container nur die VerticalAlignment bzw. VerticalContentAlignment setzen.
Ok, werde ich versuchen.
Eins noch nebenbei, wenn dies ginge, bräuchte ich eigentlich garnichts mehr von beiden.
Nehmen wir an, ich hab nen Grid-Layout & Columns auf 7 & Rows auf 4 gesetzt.
So hätte ich jetzt ein Layout mit 7 Reihen in 4 Zeilen.
Gibt es eine möglichkeit, wenn ich nur 1 Element dadrin habe, diesen direkt auf Zeile 2, Platz 2 zu setzten?
ein auf
MyButton.UniformGrid.setPosition[2][2]
oder so ähnlich ?
Puhhh wenn ich ehrlich bin hab ichs nicht verstanden, aber Du kannst jede Zelle ansprechen.
Dafür ist Grid.Row und Grid.Column da.
Hab die frage nochmals grad etwas umformeliert.
Vielleicht ist es jetzt besser zu verstehen :x
Huhu,
versuch mal dein Layouting im Xaml zu machen ... sonst brauchst du kein WPF...
Wenn's zum weinen nicht reicht, lach drüber!