myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: WPF und Silverlight » [C#|WPF] Label und Texbox auf eine Zeile mit Grid und Stackpanel
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

[C#|WPF] Label und Texbox auf eine Zeile mit Grid und Stackpanel

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Trite
myCSharp.de-Mitglied

Dabei seit: 10.10.2019
Beiträge: 1


Trite ist offline MSN-Passport-Profil von Trite anzeigen

[C#|WPF] Label und Texbox auf eine Zeile mit Grid und Stackpanel

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Moin,

ich bin zurzeit dabei meine UI aufzubauen für mein neues Projekt.
Dabei habe ich jetzt das Problem, dass ich mehrere Labels in einem Grid Row habe bei denen ich gerne jeweils eine Textbox hinzufügen möchte. Da ich meines Wissens her nur das Label und Textbox mit folgenden auf eine Zeile bekomme:

StackPanel: Orientation="Horizontal"
Label: VerticalAlignment="Center"
TextBox: VerticalContentAlignment="Center", VerticalAlignment="Center"

Weiß ich nicht genau, wie ich am besten jedes Label mit dem dazugehörigen Textbox auf eine eigene Zeile bekomme. Siehe Anhang - Bild.



Hier der Code (WICHTIG! Das Stackpanel befindet sich auch noch in einem Grid)

XML-Code:
        <StackPanel Grid.Column="0" Grid.Row="2" Orientation="Horizontal">
            <Label x:Name="lbl_id" Content="ID" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10"/>
            <TextBox x:Name="txt_id" VerticalAlignment="Center" Width="111" Margin="0,95"/>

            <Label x:Name="lbl_kategorie" Content="Kategorie" HorizontalAlignment="Left" />
            <TextBox x:Name="txt_kateogorie" VerticalAlignment="Center" Width="111" Margin="0,95"/>

            <Label x:Name="lbl_beschreibung" Content="Beschreibung"  HorizontalAlignment="Left" Margin="10"/>
                <TextBox x:Name="txt_beschreibung" VerticalAlignment="Center" Width="111" Margin="0,95"/>
            </StackPanel>

Trite hat dieses Bild (verkleinerte Version) angehängt:
3daa6ef949b2281aa797fd86cb693ee2.png
Volle Bildgröße

10.10.2019 14:39 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.362
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Möchtest du, ohne jedesmal wieder diese Eigenschaften explizit anzugeben, die Controls platzieren, dann könntest du ein eigenes UserControl dafür erstellen, s. z.B.
 WPF Tutorial - Creating & using a UserControl
bzw. auf deutsch  WPF Tutorial: Erzeugen und Verwendung eines UserControls
 How to Create a WPF User Control & Use It in a WPF Application (C#)

Eine andere (und hierfür wahrscheinlich bessere) Möglichkeit ist die Erzeugung eines DataGridRow-Templates, s. z.B.
 WPF DataGrid Custommization using Style and Template
 Creating a ControlTemplate for a DataGridRow in WPF
 DataGrid Styles and Templates (s. Beispiel für "<!--Style and template for the DataGridRow.-->")

Das ControlTemplate kannst du dabei beliebig aufbauen, auch z.B. ein StackPanel verwenden und dort dann die beiden Unterelemente erzeugen.

Edit: Ah, jetzt sehe ich erst was du genau meinst. Du hast bisher alle Elemente in einem StackPanel. Du solltest jeweils ein eigenes StackPanel je Label/TextBox verwenden.

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Th69 am 11.10.2019 10:21.

11.10.2019 10:16 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 15.10.2019 08:40