Wpf 在Xaml中单击按钮更改网格的可见性

Wpf 在Xaml中单击按钮更改网格的可见性,wpf,vb.net,xaml,Wpf,Vb.net,Xaml,我试图找到一种方法,当单击按钮(菜单)时,它会通过XAML中的触发器更改网格(子菜单)的可见性。我是在vb.net中实现的,但我想知道在XAML中是否更容易实现 专用子显示子菜单(子菜单设置为网格) Dim bk As Integer=VisualTreeHelper.GetChildrenCount(主网格) 对于i=0至bk-1 Dim g As Object=VisualTreeHelper.GetChild(主网格,i) 如果g的类型为网格,则g.可见性=可见性.隐藏 下一个 子菜单设置

我试图找到一种方法,当单击按钮(菜单)时,它会通过XAML中的触发器更改网格(子菜单)的可见性。我是在vb.net中实现的,但我想知道在XAML中是否更容易实现

专用子显示子菜单(子菜单设置为网格)
Dim bk As Integer=VisualTreeHelper.GetChildrenCount(主网格)
对于i=0至bk-1
Dim g As Object=VisualTreeHelper.GetChild(主网格,i)
如果g的类型为网格,则g.可见性=可见性.隐藏
下一个
子菜单设置.Visibility=可见性.Visibility
端接头
私有子可见性(发送方作为对象)
如果发送方是btn1,则
显示子菜单(pdm1)
如果结束
端接头

您可以给网格一个“x:Name=“gridName”,然后在单击按钮时从代码中执行“gridName.Visibility=Visibility.Collapsed”(根据需要折叠或隐藏)。“

您可以使用
切换按钮
代替按钮, 其思想是基于的
IsChecked
属性切换网格可见性


<Grid  Height="100" Width="100" Background="Green">
   <Grid.Style>
      <Style TargetType="Grid">
          <Setter Property="Visibility" Value="Collapsed"/>
          <Style.Triggers>
             <DataTrigger Binding="{Binding IsChecked,ElementName=btnFirst}" Value="True">
                 <Setter Property="Visibility" Value="Visible"/>
              </DataTrigger>
          </Style.Triggers>
       </Style>
   </Grid.Style>
</Grid>

 <ToggleButton x:Name="btnFirst" Content="BtnFirst" Height="100" Width="100" />