none
UserControl dynamisch in Grid laden und über alle Zeile / Spalten dehnen RRS feed

  • Frage

  • Hallo,

    ich habe eine UserControl, die ich dynamisch lade und in ein Grid hänge.

    UserControl (Popup.xaml):

    <Grid x:Class ="myNS.Popup"
    xmlns="schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    mc:Ignorable="d"
    HorizontalAlignment="Stretch"
    VerticalAlignment="Stretch"
    d:DesignWidth="300"
    d:DesignHeight="300">
    <Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" BorderBrush="Transparent" Background="#80000000">
    <TextBlock Text="Text" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" Font-Size="20"/>
    </Border>
    </Grid>

    Das ZielGrid in der Anwendung:

     

    <Grid x:Key="LayoutRoot">
    <Grid.ColumnDefinitions>
    <ColumnDefinition Width="0.2*"/>
    <ColumnDefinition Width="0.2*"/>
    <ColumnDefinition Width="0.2*"/>
    <ColumnDefinition Width="0.2*"/>
    <ColumnDefinition Width="0.2*"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
    <RowDefinition Height="0.5*"/>
    <RowDefinition Height="0.5*"/>
    </Grid.RowDefinitions>
    </Grid>

    CodeBehind:

     

    Popup popup = new
     Popup();
    this
    .LayoutRoot.Children.Add(popup);

     

    Folgendes Problem:

    Das Grid wird erwartungsgemäß nur in der ersten Spalte und Zeile angezeigt. Wie kann ich per Code angeben, dass es über alle Spalten / Zeilen angezeigt werden soll?


    Christian Ramelow
    Donnerstag, 16. Dezember 2010 11:31

Antworten

  • Das kannst du mit folgendem Code machen:

    Grid.SetRowSpan(popup, 2);
    Grid.SetColumnSpan(popup, 5);

    Donnerstag, 16. Dezember 2010 11:41
    Beantworter

Alle Antworten

  • Das kannst du mit folgendem Code machen:

    Grid.SetRowSpan(popup, 2);
    Grid.SetColumnSpan(popup, 5);

    Donnerstag, 16. Dezember 2010 11:41
    Beantworter
  • Vielen Dank. Wunderbar!

    Grid.SetColumnSpan(popup, this.LayoutRoot.ColumnDefinitions.Count);
    Grid.SetRowSpan(popup, this.LayoutRoot.RowDefinitions.Count);
    


    Christian Ramelow
    Donnerstag, 16. Dezember 2010 16:20
  • OT: Ich gebs auf. TinyMCE ist höheren Anforderungen einfach nicht gewachsen.

    Christian Ramelow
    Donnerstag, 16. Dezember 2010 16:36