wpf - WPF - 将鼠标悬停在另一个元素上时隐藏元素
问题描述
网格中有一些元素,我想要的只是当鼠标悬停在矩形上时显示/隐藏按钮。
<UserControl ...>
<Grid>
<Rectangle ...>
<Button ...>
</Grid>
</UserControl>
我已经尝试了几个触发器,但到目前为止都没有成功。请帮忙。
解决方案
这就是您需要的:绑定到应该触发隐藏的控件的数据触发器。或者你可以使用一个转换器BoolenToInvisibilityConverter
Ps 如果你想反转你需要在样式中设置可见性的逻辑,否则它会被覆盖
<StackPanel>
<Rectangle Fill="Red" Height="20" Width="29" Name="MyRect"/>
<Button>
<Button.Style>
<Style TargetType="Button">
<!--<Setter Property="Visibility" Value="Hidden"/>-->
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=MyRect, Path=IsMouseOver}" Value="True">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</StackPanel>
Wpf 中的 trigger-landscape 有时会令人困惑,不要担心你会学会接受它!
推荐阅读
- docker - Docker:错误:找不到证书 cert.pem?
- c - 用于 EEPROM 写入的 stm8flash .bin 文件
- r - 如何合并 r 中两个数据集的两列并包括一个数据框中的所有元素,除非它们是 NA?
- docker - 无法从本地机器访问在 docker 容器内运行的 Web 应用程序
- javascript - 如何使用 Jquery 在不同的变量上存储多个选择选项
- python - 使用子进程模块python打开带有默认应用程序的文件(混淆)
- string - 如何返回一个布尔值或只是一个通知身份验证成功的承诺?
- android-recyclerview - 滚动到分页库中的某个位置
- python-3.x - 在不删除数据库的情况下关闭 django dev 项目的正确方法是什么
- vba - 是否可以从 MDL 文件中提取源代码?