Freigeben über


Gewusst wie: Freigeben von Größeneigenschaften zwischen Grids

Aktualisiert: November 2007

Dieses Beispiel veranschaulicht, wie Größenanpassungsdaten von Spalten und Zeilen zwischen Grid-Elementen freigegeben werden, um die Größenanpassung zu vereinheitlichen.

Beispiel

Im folgenden Beispiel werden zwei Grid-Elemente als untergeordnete Elemente eines übergeordneten DockPanel eingeführt. Die angefügte EigenschaftIsSharedSizeScope des Grid wird über das übergeordnete DockPanel definiert.

In diesem Beispiel wird der Eigenschaftenwert durch die Verwendung von zwei Button-Elementen manipuliert, wobei jedes Element einen booleschen Eigenschaftenwert darstellt. Wenn der IsSharedSizeScope-Eigenschaftenwert true ist, werden Größeninformationen gemeinsam von jedem Spalten- oder Zeilenmember einer SharedSizeGroup genutzt, ungeachtet des Inhalts einer Zeile oder Spalte.

 <DockPanel Name="dp1" Grid.IsSharedSizeScope="False" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="10">

...

<StackPanel Orientation="Horizontal" DockPanel.Dock="Top">  
    <Button Click="setTrue" Margin="0,0,10,10">Set IsSharedSizeScope="True"</Button>
    <Button Click="setFalse" Margin="0,0,10,10">Set IsSharedSizeScope="False"</Button>
</StackPanel> 

<StackPanel Orientation="Horizontal" DockPanel.Dock="Top">

<Grid ShowGridLines="True" Margin="0,0,10,0">
  <Grid.ColumnDefinitions>
    <ColumnDefinition SharedSizeGroup="FirstColumn"/>
    <ColumnDefinition SharedSizeGroup="SecondColumn"/>
  </Grid.ColumnDefinitions>
  <Grid.RowDefinitions>
    <RowDefinition Height="Auto" SharedSizeGroup="FirstRow"/>
  </Grid.RowDefinitions>

    <Rectangle Fill="Silver" Grid.Column="0" Grid.Row="0" Width="200" Height="100"/>
    <Rectangle Fill="Blue" Grid.Column="1" Grid.Row="0" Width="150" Height="100"/>

    <TextBlock Grid.Column="0" Grid.Row="0" FontWeight="Bold">First Column</TextBlock>
    <TextBlock Grid.Column="1" Grid.Row="0" FontWeight="Bold">Second Column</TextBlock>
</Grid>

<Grid ShowGridLines="True">
  <Grid.ColumnDefinitions>
    <ColumnDefinition SharedSizeGroup="FirstColumn"/>
    <ColumnDefinition SharedSizeGroup="SecondColumn"/>
  </Grid.ColumnDefinitions>
  <Grid.RowDefinitions>        
    <RowDefinition Height="Auto" SharedSizeGroup="FirstRow"/>
  </Grid.RowDefinitions>

    <Rectangle Fill="Silver" Grid.Column="0" Grid.Row="0"/>
    <Rectangle Fill="Blue" Grid.Column="1" Grid.Row="0"/>

    <TextBlock Grid.Column="0" Grid.Row="0" FontWeight="Bold">First Column</TextBlock>
    <TextBlock Grid.Column="1" Grid.Row="0" FontWeight="Bold">Second Column</TextBlock>
</Grid>

</StackPanel>

<TextBlock Margin="10" DockPanel.Dock="Top" Name="txt1"/>

Im folgenden Code-Behind-Beispiel werden die Methoden behandelt, die vom Schaltflächenereignis Click ausgelöst werden. Das Beispiel schreibt die Ergebnisse dieser Methodenanrufe in TextBlock-Elemente, die entsprechende Get-Methoden verwenden, um die neuen Eigenschaftenwerte als Zeichenfolgen auszugeben.

Private Sub setTrue(ByVal sender As Object, ByVal args As RoutedEventArgs)

    Grid.SetIsSharedSizeScope(dp1, True)
    txt1.Text = "IsSharedSizeScope Property is set to " + Grid.GetIsSharedSizeScope(dp1).ToString()
End Sub

Private Sub setFalse(ByVal sender As Object, ByVal args As RoutedEventArgs)

    Grid.SetIsSharedSizeScope(dp1, False)
    txt1.Text = "IsSharedSizeScope Property is set to " + Grid.GetIsSharedSizeScope(dp1).ToString()
End Sub
private void setTrue(object sender, System.Windows.RoutedEventArgs e)
{
    Grid.SetIsSharedSizeScope(dp1, true);
    txt1.Text = "IsSharedSizeScope Property is set to " + Grid.GetIsSharedSizeScope(dp1).ToString();
}

private void setFalse(object sender, System.Windows.RoutedEventArgs e)
{
    Grid.SetIsSharedSizeScope(dp1, false);
    txt1.Text = "IsSharedSizeScope Property is set to " + Grid.GetIsSharedSizeScope(dp1).ToString();
}

Das vollständige Beispiel finden Sie unter Beispiel zur gemeinsamen Verwendung von Rastergrößen.

Siehe auch

Konzepte

Übersicht über Panel-Elemente

Referenz

Grid

IsSharedSizeScope