2013-03-25 85 views
5

我希望有人能指出我在这里正确的方向。我试图将我的模拟时钟应用程序变成一个无窗时钟。我搜索谷歌,但我认为我的问题是我不知道我正在尝试做的正确的术语。无窗WPF应用程序

我的模拟时钟应用程序是一个包含钟针的圆。与大多数其他应用程序一样,它包含在窗口中。我想删除窗口,只有时钟显示在背景之上。我可以在鼠标悬停的情况下调出关闭按钮。或者,也许我可以使整个窗口透明,除了时钟和鼠标悬停,我可以看到窗口并关闭它。

任何人都有这方面的经验?也许一些提示或教程的地方?

谢谢

+0

请定义“无窗” - 因为任何在屏幕上显示的东西都必须有父窗口 - 授予它可以是没有标题栏和边框并且具有非矩形形状的“无框”窗口 - 这就是你在说什么? – Dai 2013-03-25 16:39:18

回答

7

你可以建立自己的窗口,并设置Background="Transparent"像这样:

<Window ... 
    AllowsTransparency="True" 
    WindowStyle="None" 
    Background="Transparent" > 

这给你一个透明的背景,没有边框的窗口。

+0

我不知道它是否仍然如此,但是这会导致我的应用程序进入软件渲染模式,可能需要检查。 – Andy 2013-03-25 16:48:51

+0

@Andy它不应该这样做 - 只有当你的卡无法正确处理时(例如:你在XP中,没有WDDM和DWM,或者在蹩脚的图形系统上),才会发生这种情况。 – 2013-03-25 16:51:46

+0

这是完全有可能的,它运行在一台非常差的机器上 – Andy 2013-03-25 16:53:45