3

有没有办法使用 Windows Presentation Foundation 创建类似于原生 Windows 7 通知区域 Windows 的窗口?例如音频控件或电源计划设置。

我能够创建一个看起来相同的 Windows 窗体窗口,但是当您将鼠标悬停在边框上时,仍然有调整大小的光标。我正在使用以下代码:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        ResizeMode="NoResize" ShowInTaskbar="False" Topmost="True"
        DataContext="{Binding}" WindowStyle="SingleBorderWindow"
        WindowStartupLocation="Manual" ShowActivated="False"
        IsManipulationEnabled="False" mc:Ignorable="d"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        d:DesignHeight="218" d:DesignWidth="368" SizeToContent="WidthAndHeight">
    <Grid>

    </Grid>
</Window>

我的问题是我无法完全删除标题栏和关闭按钮。或者是否有可用于创建此类窗口的库?

我想发布屏幕截图,但由于我还没有 10 个声望点,所以我无法发布。

谢谢你的帮助!

4

2 回答 2

1

仅使用 WPF 无法做到这一点。您需要做一些 Win32 互操作并从窗口中删除 WS_CAPTION 和 WS_SYSMENU 样式。

这是我对类似 SO question的回答,其中包含一些关于如何操作窗口样式和扩展样式的示例代码。

于 2010-08-26T23:46:08.633 回答
1

你可以让你的窗口看起来像你想要的任何东西。除了您已经拥有的之外,将 WindowStyle 设置为 None 并将 AllowsTransparency 设置为 true。然后,您可以将自己的 ControlTemplate 应用到 Window 并使其看起来像您能找到的任何东西,包括部分透明和奇怪的形状。

于 2010-08-27T01:15:06.957 回答