wpf - 通过鼠标指针更改窗口的 WPF 可见性更改
问题描述
我正在 WPF 中开发我的应用程序,它是屏幕录制应用程序。因此,当用户单击录制菜单时,将打开一个窗口并录制屏幕。我想根据鼠标指针的变化来改变录制画面。当用户开始录制时窗口会关闭,如果用户将指针移动到窗口中的特定点,则需要显示录制窗口选项。
解决方案
当需要显示记录选项时,您可以在希望鼠标指针所在的区域中放置一个透明控件。
然后使用数据触发器来更改记录选项的可见性。
请参阅下面的示例来演示这一点。请注意,悬停区域和记录区域将放置在一个 2 行网格中,但您可以调整它。
<Grid Name="GridMouseHover" Background="Transparent" Grid.Row="0" />
<Grid Background="Red" Grid.Row="1">
<Grid.Resources>
<Style TargetType="Grid">
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=GridMouseHover}" Value="True">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=GridMouseHover}" Value="False">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Resources>
</Grid>
推荐阅读
- php - 将 getBody() 分配给变量 Guzzle
- mysql - 当同步为真时,TypeORM 抛出 QueryFailedError Table already exists on MySQL
- javascript - 当 UI 中没有相关更改时,有没有办法测试使用 RTL 调用了通过 mapDispatchToProps 传递的函数?
- typescript - Firestore 错误:Update() 需要单个 JavaScript 对象或字段/值对的交替列表
- python - Python函数返回维度数组的索引
- android - 无法在 Skype 中打开 Android 深层链接
- git - GIT:一个功能分支中的多个 Jira 票证
- sql - 将 jsonb 哈希转换为 json 字符串的 SQL 语句
- javascript - 如何防止用户从前端更改计时器值?
- javascript - 将字符串 "{a:2, b:4}" 转换为对象 {a:2, b:4}