XAML nach dynamisch übersetzten. Benötige Hilfe...

  • WPF

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von EugenIS.

    XAML nach dynamisch übersetzten. Benötige Hilfe...

    Hallo Leute und danke für's reinschauen. Kann mir jemand helfen das dynamisch zu gestalten?:


    Quellcode

    1. <Border BorderThickness="0.5" Margin="179,110,122,54" Name="border3" BorderBrush="Black">
    2. <Grid Name="grid1">
    3. <Grid.ColumnDefinitions>
    4. <ColumnDefinition Width="5*" />
    5. <ColumnDefinition Width="188*" />
    6. <ColumnDefinition Width="5*" />
    7. </Grid.ColumnDefinitions>
    8. <Grid.RowDefinitions>
    9. <RowDefinition Height="5*" />
    10. <RowDefinition Height="91*" />
    11. <RowDefinition Height="5*" />
    12. </Grid.RowDefinitions>
    13. <Border BorderBrush="{x:Null}" Grid.Column="0" Grid.Row="0" Margin="0" Background="Black" />
    14. <Border BorderBrush="{x:Null}" Grid.Column="0" Grid.Row="2" Margin="0" Background="Black" />
    15. <Border BorderBrush="{x:Null}" Grid.Column="2" Grid.Row="0" Margin="0" Background="Black" />
    16. <Border BorderBrush="{x:Null}" Grid.Column="2" Grid.Row="2" Margin="0" Background="Black" />
    17. <Border BorderBrush="{x:Null}" BorderThickness="0" Grid.Column="1" Margin="0" Background="Lime" />
    18. </Grid>
    19. </Border>


    DAnke im Voraus...
    Ziemlich schlechte Idee, und total an Wpf vorbei.
    aber egal, kl. Sample kann ich machen:

    XML-Quellcode

    1. <Grid Name="grid1">
    2. <Grid.RowDefinitions>
    3. <RowDefinition Height="5*" />
    4. </Grid.RowDefinitions>
    5. <Border BorderBrush="{x:Null}" Grid.Column="0" Margin="0" />
    6. </Grid>

    C#-Quellcode

    1. var grd=new Grid();
    2. grd.RowDefinitions.Add(new RowDefinition() {Height="5*"}
    3. var brd=new Border();
    4. brd.BorderBrush=null;
    5. brd.Margin="0";
    6. brd.SetValue(Grid.ColumnProperty, 0) //attachedProperty
    7. grd.Children.Add(brd);
    So ungefähr.
    Unsicher bin ich, ob ich die AttachedProperty richtig gesetzt hab.
    Erhebliche Probleme machen die vielen TypConverter, die der Xaml-Parser verwendet: Statt .Margin="0" musst du ein Margin codeseitig erstellen, und seine Werte auf 0 festlegen etc.

    Also ein Xaml-Tag entspricht dem Aufruf eines Konstruktors.
    Xml-Attribute entsprechen den Properties
    die annere Art, Properties zu notieren ist einen Pfad im Xaml-Tag anzugeben - Pfad-Separator ist "."
    zB: <Grid.RowDefinitions>addressiert die RowDefinitions-Property
    Eingeschachteltes entspricht Zuweisungen an die Standard-Auflistung des Objekts.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()