abe*_*nky 12 wpf visibility stackpanel
我有一个看起来像这样的WPF StackPanel :(删除了一些无关紧要的属性)
<StackPanel HorizontalAlignment="Center" Name="PICStack">
<Label Name="PICName" MouseDoubleClick="PICName_MouseDoubleClick" />
<TextBox Name="PICData" Width="120" Visibility="Hidden" />
<Label Name="PICWeight" />
<Label Name="PICARM" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
请注意,TextBox以"隐藏"开头.
当我双击顶部标签时,我交换了可见性:
private void PICName_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
this.PICData.Visibility = Visibility.Visible;
this.PICName.Visibility = Visibility.Hidden;
}
Run Code Online (Sandbox Code Playgroud)
目的是隐藏标签,并使TextBox显示在其位置.
但是,因为它是StackPanel,所以TextBox占用垂直空间,即使它不可见.然后,当文本框显示时,它上面有空白区域,标签以前是可见的.
有没有一种好方法可以让这两个项目基本上直接相互叠加?那么双击Label会突然变成TextBox吗?