Freigeben über


Gewusst wie: Ändern der Visibility-Eigenschaft

Aktualisiert: November 2007

Beispiel

In diesem Beispiel wird dargestellt, wie der Wert der Visibility-Eigenschaft geändert wird.

Im ersten Extensible Application Markup Language (XAML)-Beispiel wird TextBox definiert und in ein StackPanel-Element eingefügt. Drei Button-Steuerelemente stellen die drei Enumerationswerte der Visibility-Eigenschaft dar: Visible, Hidden und Collapsed. Wenn ein Benutzer auf eine dieser Schaltflächen klickt, wird ein Ereignis in der Code-Behind-Datei ausgelöst, die Button zugewiesen ist. Der Visibility-Zustand von TextBox wird geändert, um dem Wert, der Button zugewiesen ist, zu entsprechen.

    <Border BorderBrush="Black" BorderThickness="2" Background="White">
        <DockPanel>
    
            <TextBlock FontSize="20" FontWeight="Bold" DockPanel.Dock="Top" Margin="0,0,0,10">UIElement.Visibility Sample</TextBlock>
            <TextBlock DockPanel.Dock="Top" Margin="0,0,0,10">Click the buttons below to manipulate the Visibility property of the TextBox below.</TextBlock>
            <StackPanel DockPanel.Dock="Left">
                <Button Name="btn1" Height="25" Click="contentVis">Visibility="Visible"</Button>
                <Button Name="btn2" Height="25" Click="contentHid">Visibility="Hidden"</Button>
                <Button Name="btn3" Height="25" Click="contentCol">Visibility="Collapsed"</Button> 
            </StackPanel>    
            <StackPanel HorizontalAlignment="Center">
                <TextBox Name="tb1" Width="100" Height="50">A TextBox</TextBox>
                <TextBlock Name="txt1" TextWrapping="Wrap" FontSize="14"/>
            </StackPanel>
        </DockPanel>
    </Border>

Die folgende Code-Behind-Datei behandelt die ButtonClick-Ereignisse, die im vorherigen XAML-Beispiel definiert wurden.

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

    tb1.Visibility = System.Windows.Visibility.Visible
    txt1.Text = "Visibility is now set to Visible."
End Sub

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

    tb1.Visibility = System.Windows.Visibility.Hidden
    txt1.Text = "Visibility is now set to Hidden. Notice that the TextBox still occupies layout space."
End Sub

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

    tb1.Visibility = System.Windows.Visibility.Collapsed
    txt1.Text = "Visibility is now set to Collapsed. Notice that the TextBox no longer occupies layout space."
End Sub
private void contentVis(object sender, RoutedEventArgs e)
{
    tb1.Visibility = System.Windows.Visibility.Visible;
    txt1.Text = "Visibility is now set to Visible.";
}

private void contentHid(object sender, RoutedEventArgs e)
{
    tb1.Visibility = System.Windows.Visibility.Hidden;
    txt1.Text = "Visibility is now set to Hidden. Notice that the TextBox still occupies layout space.";
}

private void contentCol(object sender, RoutedEventArgs e)
{
    tb1.Visibility = System.Windows.Visibility.Collapsed;
    txt1.Text = "Visibility is now set to Collapsed. Notice that the TextBox no longer occupies layout space.";
}

Siehe auch

Konzepte

Übersicht über Panel-Elemente

Referenz

Visibility

Visibility