none
WPF 4.5 Warum kommt wenn man ein Grid gemacht hat also diesen Textbox oben und wenn man ein Button platziert 1 darauf? RRS feed

Antworten

  • Angefügte Eigenschaften sind Eigenschafte, die nicht direkt zum Element gehört, sondern zu einem anderen.

    Wenn also folgender Code:

    <Button Grid.Row="1" />
     

    So ist die Eigenschaft Row nicht eine von Button, sondern von Grid, welche wiederum eigentlich nichts mit Button zu tun hat. Die Eigenschaft hat keinerlei Auswirkung auf Button, sondern nur auf das Grid-Element. Welches wiederum die Position des Buttons bestimmt.


    © 2015 Thomas Roskop

    Germany // Deutschland

    Samstag, 24. Januar 2015 08:58

Alle Antworten

  • Hallo,
    das Grid ist ein so genanntes Container-Element. Das heißt nichts anderes, als das es weitere Unter-Elemente (Buttons, CheckBox, ... aber auch weitere Container) aufnehmen kann.

    Eine Besonderheit des Grids ist, dass man ihm Zeilen- und Spalten zuweisen kann. Im Designer kannst du diese anlegen, indem du das Grid markierst und dann ein wenig neben den Rahmen oben oder links klickst. Dadurch wird das Grid "geteilt". Im XAML siehst du das als RowDefinition bzw. ColumnDefinition umgesetzt. Die jeweiliuge Height- und Width-Eigenschaft gibt dabei an, wie groß eine Spalte bzw. Zeile ist. Zahlen sind absolute Werte, der Wert "Auto" bedeutet, dass sich die Größe an dem Inhalt ausrichtet und der restliche Platz wird prozentual auf die ZAHL*-Angaben verteilt.
    Das heißt, dass wenn du 4 Spalten mit folgenden Größen hast: 100, Auto, 1*, 2*
    Dann wird die erste Spalte 100px breit, die 2. wird sich dem Inhalt anpassen, die 3. wird 33,3% des restlichen Platzes einnehmen und die 4. 66,6%.

    Nun gibt es unter WPF so genannte Angefügte Eigenschaften. Diese haben folgende Form:

    Klassenname.Eigenschaft="WERT"

    Damit kannst du einem Control nun sagen wo es sich im Grid befinden soll:

    • Column/Row
      Die Spalte/Zeile (0-basiert)
    • ColumnSpan / RowSpan
      Die Anzahl der Spalten/Zeilen, die überstreckt werden sollen, standardmäßig ist es 1.

    Andere Container haben auch solche speziellen Eigenschaften. Siehe auch:
    Übersicht über Panel-Elemente
    Übersicht über angefügte Eigenschaften


    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Freitag, 23. Januar 2015 17:00
    Moderator
  • Hallo,

    Vielen Dank für die Antwort.

    Aber ich habe es bis hierhin verstanden:

    Nun gibt es Wpf so genannte angefügte Eigenschaften

    Können sie mir das und was da runter steht mir nochmal erklären?

    Vielen Dank


    Samstag, 24. Januar 2015 07:13
  • Angefügte Eigenschaften sind Eigenschafte, die nicht direkt zum Element gehört, sondern zu einem anderen.

    Wenn also folgender Code:

    <Button Grid.Row="1" />
     

    So ist die Eigenschaft Row nicht eine von Button, sondern von Grid, welche wiederum eigentlich nichts mit Button zu tun hat. Die Eigenschaft hat keinerlei Auswirkung auf Button, sondern nur auf das Grid-Element. Welches wiederum die Position des Buttons bestimmt.


    © 2015 Thomas Roskop

    Germany // Deutschland

    Samstag, 24. Januar 2015 08:58