Benutzer mit den meisten Antworten
C#: Button mit zwei Textboxen

-
Hallo zusammen,
ich habe ein kleines Layout-Problem:
Ich habe einen Button mit den Content "Klick mich". Soweit so gut, möchte aber noch zwei kleine TextBoxen jeweils in den Ecken des Button platzieren. Doch irgendwie gibt es ständig eine neue Fehlermeldung.
Was mache ich falsch ? Oder kann man das gar nicht so ohne weiteres machen ??
Danke für Eure Hilfe.
LG Michael
- Verschoben Dimitar DenkovMicrosoft contingent staff, Moderator Montag, 8. Dezember 2014 13:37 richtiges Unterforum
Frage
Antworten
-
Hallo,
du hast HorizontalAlignment statte HorizontalContentAlignment (gleiches für Vertical) für den Button fest gelegt. Du richtest den Button also nach außen hin aus und nicht das Innere. Bei mir sieht es nach der Änderung so aus:Ich würde dir noch empfehlen eine Mindestbreite (MinWidth="30") für die TextBox fest zulegen, denn wenn diese leer ist, kann man die kaum sehen.
Wenn du noch etwas ganz anderes willst, dann erstelle mal eine Grafik, die uns das richtig zeigt.
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort markiert Michael80xxx Samstag, 21. Dezember 2013 22:58
Alle Antworten
-
Hallo Michael,
gib mal folgenden XAML-Code für den Button ein:
<Button Name="btnClickMich" Width="200" Height="80" Click="btnClickMich_Click"> <StackPanel > <TextBox>TextbooxInhalt</TextBox> <Label> "Klick mich!"</Label> <TextBox >Textboxinhalt</TextBox> </StackPanel> </Button>
an stelle des StackPanels kannst Du natürlich auch andere Panels verwenden, kommt darauf an wie das Layout des Buttons aussehen soll.
Grüße
Roland
- Bearbeitet dt125fahrer Montag, 16. Dezember 2013 12:49
-
Hallo Roland,
erstmal danke für die Antwort. Ich habe es eben ausprobiert und es klappt.
Bis auf die Sache mit den Ecken. Meine TextBox ist in der Mitte des Buttons und ich schaffe es nicht, sie in die Ecke z.B. oben rechts zu schieben.LG Michael
-
Hallo,
wie dt125fahrer schon sagte, kannst du auch andere Container-Elemente nutzen. Eventuell kannst du es über ein Grid lösen:<Button Height="80" Width="250" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"> <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="Klick mich!"/> <TextBox HorizontalAlignment="Right" VerticalAlignment="Top" MinWidth="50"/> </Grid> </Button>
Wie du in dem Code siehst arbeite ich hier nur mit den Alignments. Du kannst natürlich auch mit den Spalten- und Zeilendefinitionen des Grids arbeiten. Wichtig sind die Horizontal- und VerticalContentAlignment-Eigenschaft des Buttons. Diese sorgen dafür, das das Grid die gesamte Fläche einnimmt.
Mit einem StackPanel ginge es unter Umständen auch, aber es ist nicht so frei anpassbar wie bei einem Grid.
Eventuell musst du auch noch mit der Margin- und Padding-Eigenshcaft herum probieren bis du alle Rahmen los bist.
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke. -
Hallo Michael,
Hast Du auch Tom's Loesung ausprobiert?
Gruss,
Ionut
Ionut Duma, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip„Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
-
Hallo und guten Morgen,
also ich jetzt den folgenden Code und es sieht nicht so aus wie ich mir das vorstelle:
<Button HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="410" Height="200" x:Name="test"> <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch"> <TextBlock HorizontalAlignment="Left" VerticalAlignment="Bottom" Text="und nu?" /> <TextBox HorizontalAlignment="Right" VerticalAlignment="Top" /> </Grid> </Button>
Dabei habe ich es doch so gemacht, wie hier im Forum beschrieben.
LG Michael
-
Hallo,
du hast HorizontalAlignment statte HorizontalContentAlignment (gleiches für Vertical) für den Button fest gelegt. Du richtest den Button also nach außen hin aus und nicht das Innere. Bei mir sieht es nach der Änderung so aus:Ich würde dir noch empfehlen eine Mindestbreite (MinWidth="30") für die TextBox fest zulegen, denn wenn diese leer ist, kann man die kaum sehen.
Wenn du noch etwas ganz anderes willst, dann erstelle mal eine Grafik, die uns das richtig zeigt.
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort markiert Michael80xxx Samstag, 21. Dezember 2013 22:58