控件的重新定位取决于同一面板中的其他控件可见性



我在一个堆栈面板中有两个按钮。最初B1按钮在顶部,然后是B2。我将从代码中动态更改按钮的可见性,这样,当我将B1可见性更改为隐藏时,B2将处于顶部。如何实现此功能。

    <Grid>
      <StackPanel >
        <Button Content="B1" Height="20" Width="100" Visibility="Visible"/>
        <Button Content="B2" Height="20" Width="100" Visibility="Visible"/>
     </StackPanel>
    </Grid>

首先移除Statckpanel,然后放入Grid中,就可以实现试试这样的东西。

        <Grid>
            <Button Content="B1" Height="20" Width="100" Visibility="Visible" Click="Button_Click" x:Name="B1" />
            <Button Content="B2" Height="20" Width="100" Visibility="Visible" x:Name="B2" Click="B2_Click" />
        </Grid>

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        B1.Visibility = System.Windows.Visibility.Hidden;
        B2.Visibility = System.Windows.Visibility.Visible;
    }
    private void B2_Click(object sender, RoutedEventArgs e)
    {
        B2.Visibility = System.Windows.Visibility.Hidden;
        B1.Visibility = System.Windows.Visibility.Visible;
    }

这应该会让你有类似的行为。根据您的使用情况更改

最新更新