gpt4 book ai didi

.net - 带有 WPF 的可折叠窗口

转载 作者:行者123 更新时间:2023-12-04 06:51:36 27 4
gpt4 key购买 nike

如何在 WPF 中创建一个看起来像附加的窗口(注意最小化/最大化按钮左侧的“折叠”按钮)?我已经仔细筛选了文档,但无济于事。非常感谢您对此事的任何见解:)

alt text http://www.study.en0de.com/cwindow.jpg

最佳答案

这样做并没有什么真正特定于 WPF 的。您必须求助于 Win32 P/Invoke 才能在非客户区绘图。幸运的是,如果您搜索 WM_NCPAINT,搜索与此相关的主题非常容易。 ( google/stackoverflow ) 但不幸的是,这并非易事。因此,当这里有很多可用的 C# 示例时,我认为编写一个完整的示例对我没有多大帮助。

您需要做的唯一特定于 WPF 的事情是使用 HwndSource类来指定一个钩子(Hook)过程来处理消息。

protected override void OnSourceInitialized(EventArgs e)
{
base.OnSourceInitialized(e);
var source = (HwndSource)PresentationSource.FromVisual(this);
source.AddHook(WndProc); // a function to process windows messages
}

关于.net - 带有 WPF 的可折叠窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3041317/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com