Wpf 在Xaml中单击按钮更改网格的可见性
我试图找到一种方法,当单击按钮(菜单)时,它会通过XAML中的触发器更改网格(子菜单)的可见性。我是在vb.net中实现的,但我想知道在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.可见性=可见性.隐藏 下一个 子菜单设置
专用子显示子菜单(子菜单设置为网格)
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" />