none
Hilfe bei XAML RRS feed

  • Frage

  • Hey,

    da ich erst seit kurzen mit XAML angefangen haben hätte ich eine Frage ob mein Label so inordnung ist? Natürlich geht es mir jetzt nicht um das Aussehen sondern primäre darum wie der XAML-Code geschrieben ist sprich die richtigen Eigenschaften an die richtige Position gesetzt, effektiv geschrieben etc.

    Hier der Code:

    <Grid>
            <Label x:Name="Label">
                <Label.Style>
                    <Style TargetType="{x:Type Label}">
                        <Setter Property="Background" Value="white"/>
                        <Setter Property="Height" Value="60" />
                        <Setter Property="Width" Value="320"/>
                        <Setter Property="HorizontalAlignment" Value="Center"/>
                        <Setter Property="VerticalAlignment" Value="Top"/>
                        <Setter Property="Margin" Value="0,25,0,0"/>
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="{x:Type Label}">
                                    <Border
                                        Background="{TemplateBinding Background}"
                                        BorderThickness="1"
                                        BorderBrush="Black"
                                        CornerRadius="4">
                                    </Border>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                        <Style.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="Cursor" Value="IBeam" />
                            </Trigger>
                        </Style.Triggers>
                    </Style>
                </Label.Style>
            </Label>
        </Grid>

    Und hier das Label:

    ich weiß es ist nichts besonderes aber bevor ich weiter mache möchte ich gerne wissen ob ich in die richtige Richtung arbeite oder noch etwas verändern müsste

    MfG Marvin


    • Bearbeitet Marvin.R Montag, 14. September 2015 20:27
    Montag, 14. September 2015 20:23

Antworten

  • Hallo Marvin,

    ich sehe an deinem Code nichts was ich wirklich anders machen würde. Speziell bei der Formatierung bin ich zwar kein Fan davon eine Eigenschaft pro Zeile zuzuweisen, ich kenne aber genug Leute die das übersichtlicher finden. Ich finde das das den Code unnötig in die Länge zieht.

    Was logisch betrachtet etwas nutzlos ist, ist der Trigger. Den Cursor siehst du ja sowieso nur dann wenn er "MouseOver" ist.

    Was an sich in XAML üblich ist, ist das Auslagern von Styles und Templates in die Resourcen der Anwendung bzw. des Fensters/Seite. Durch das Auslagern wird der Code häufig übersichtlicher) Wenn du Ressourcen noch nicht kennst, erfährst du hier mehr (mit Beispielen).

    PS: Wundere dich nicht wenn sich durch den von dir definierten Style plötzliche einige Controls mit umgestalten. Label ist sehr grundlegend und wird hin- und wieder auch in den Standard-Controls angewendet. Schlimmer ist das ganze jedoch mit TextBlock-Elementen.


    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

    • Als Antwort vorgeschlagen Manuel MeyerMVP Dienstag, 15. September 2015 09:11
    • Als Antwort markiert Marvin.R Dienstag, 15. September 2015 10:11
    Montag, 14. September 2015 21:48
    Moderator

Alle Antworten

  • Hallo Marvin,

    ich sehe an deinem Code nichts was ich wirklich anders machen würde. Speziell bei der Formatierung bin ich zwar kein Fan davon eine Eigenschaft pro Zeile zuzuweisen, ich kenne aber genug Leute die das übersichtlicher finden. Ich finde das das den Code unnötig in die Länge zieht.

    Was logisch betrachtet etwas nutzlos ist, ist der Trigger. Den Cursor siehst du ja sowieso nur dann wenn er "MouseOver" ist.

    Was an sich in XAML üblich ist, ist das Auslagern von Styles und Templates in die Resourcen der Anwendung bzw. des Fensters/Seite. Durch das Auslagern wird der Code häufig übersichtlicher) Wenn du Ressourcen noch nicht kennst, erfährst du hier mehr (mit Beispielen).

    PS: Wundere dich nicht wenn sich durch den von dir definierten Style plötzliche einige Controls mit umgestalten. Label ist sehr grundlegend und wird hin- und wieder auch in den Standard-Controls angewendet. Schlimmer ist das ganze jedoch mit TextBlock-Elementen.


    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

    • Als Antwort vorgeschlagen Manuel MeyerMVP Dienstag, 15. September 2015 09:11
    • Als Antwort markiert Marvin.R Dienstag, 15. September 2015 10:11
    Montag, 14. September 2015 21:48
    Moderator
  • Hi Marvin,

    Schliesse mich Koopakiller an.

    Bei der Formatierung wähle ich jeweils eine Mischform. D.h. ich gruppiere auf einer Zeile die Properties, welche vom Kontext her zusammengehörten. Bspw so:

    <Button x:Name="button" Content="Click Me"
            Grid.Row="2" Grid.Column="3" Grid.RowSpan="2"
            HorizontalAlignment="Left" VerticalAlignment="Top"
            Margin="238,257,0,0"  Width="75" Height="20"
            Click="button_Click"/>

    Weiter achte ich darauf, dass die Zeilen auf einem einigermassen normal breiten Bildschirm Platz haben.

    Aber, wie schon gesagt, das ist nur mein persönlicher Stil. In der Praxis sehe ich beide Extreme. Eine Zeile pro Property oder alles auf einer Zeile.

    Mfg MM


    PS: Please mark as answer if helpful. Thanks!
    Blog: http://www.manuelmeyer.net
    Twitter: https://twitter.com/manumeyer1

    Dienstag, 15. September 2015 09:15