通过鼠标指针更改WPF可见性更改窗口

时间:2018-06-11 10:39:53

标签: wpf

我在WPF中开发我的应用程序,它是屏幕录制应用程序。因此,当用户单击记录菜单时,将打开一个窗口并记录屏幕。我想根据鼠标指针的变化更改录制屏幕。当用户启动记录时,窗口将关闭,如果用户将指针移动到窗口中的特定点,则需要显示记录窗口选项。

enter image description here

1 个答案:

答案 0 :(得分:0)

当记录选项需要显示时,您可以在希望鼠标指针所在的区域中放置透明控件。

然后使用数据触发器来改变记录选项的可见性。

请参阅下面的示例来说明这一点。请注意,有一个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>