首页 > 解决方案 > 通过鼠标指针更改窗口的 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>

推荐阅读