具有滑入效果的 WPF 切换桌面

本文关键字:WPF 桌面 | 更新日期: 2023-09-27 17:57:11

我想显示一个全屏图像,当我得到一个拖动鼠标事件时,我可以在动画中运行幻灯片,该事件将显示它下面的另一个图像。

幻灯片动画有点像:http://docs.jquery.com/UI/Effects/Slide

我想知道 WPF 的各个组件组合在一起以获得这样的效果。

编辑(更具体):

我想

1)屏幕上有一个热点,如右边缘垂直中心

2)当用户将鼠标指针放在此位置上时,他可以用鼠标向右拉屏幕,我的应用程序将启动,就好像它在屏幕下方一样。我正在为触摸屏执行此操作,所以我希望它是一种温和的滑动)。

我正在考虑实现它是:当指针碰到热点时,截取屏幕的屏幕截图,对其进行转换/动画处理,并在鼠标向右拖动顶部图像时显示之前拍摄的应用程序屏幕截图。

这是我应该走的路吗?

具有滑入效果的 WPF 切换桌面

您只需要一个全屏 WPF 应用程序

有两个堆叠图像:

<Window>
    <Grid>
        <Image ... MouseMove="...">
            <Image.RenderTransform>
                <TranslateTransform />
            </Image.RenderTransform>
        </Image>
        <Image .../>
    </Grid>
</Window>

以及鼠标移动到顶部图像上方时启动的动画:

<Storyboard>
    <DoubleAnimation To="768" Duration="0:00:10" 
                     Storyboard.TargetName="translation" 
                     Storyboard.TargetProperty="OffsetY"/>
</Storyboard>

当然,您可以使用行为而不是事件处理程序。

(此代码中可能存在错误,因为我没有对其进行测试)

编辑

有关问题中添加信息的更多信息:

是的,

这是可以做到的。SO上有很多关于截图的参考资料。

使用 WPF 可以使用触摸和轻扫来完成。

如果您希望此逻辑在系统范围内可用,则必须安装鼠标/触摸挂钩,以便能够从任何应用程序响应此手势。