所以我试图隐藏一个我有第二个Column定义的控件,但是由于某种原因,使用ZIndex属性执行该操作却无效。
那么将我的StackPanel隐藏在第0列网格下方的第1列中的最有效方法是什么
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid Column="0">
<Grid Background="Orange"/>
</Grid>
<Grid Column="1">
<StackPanel Width="100"
Height="100"
Background="#212121" Margin="-102,158,266,161"/>
</Grid>
</Grid>
答案 0 :(得分:-1)
它在这里用于设置ZIndex。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid Column="0" Panel.ZIndex="2">
<Grid Background="Orange"/>
</Grid>
<Grid Column="1" Panel.ZIndex="1">
<StackPanel Width="100"
Height="100"
Background="#212121" Margin="-102,158,266,161"/>
</Grid>
</Grid>
如果只想隐藏它,则可以设置Visibility
。
<Grid Visibility="Hidden"/>
您还可以通过更改XAML中的网格顺序来控制ZIndex。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid Column="1">
<StackPanel Width="100"
Height="100"
Background="#212121" Margin="-102,158,266,161"/>
</Grid>
<Grid Column="0" Width="150">
<Grid Background="Orange"/>
</Grid>
</Grid>
如上所述,如果您真的想跨列,则应设置Grid.ColumnSpan <Grid Column="0" Grid.ColumnSpan="2">