iNKORE-NET / UI.WPF.Modern

Modern (Fluent 2) styles and controls for your WPF applications
https://docs.inkore.net/ui-wpf-modern
GNU Lesser General Public License v2.1
332 stars 29 forks source link

托管调试助手 "PInvokeStackImbalance":“对 PInvoke 函数“Inkore.UI.WPF.Modern!Inkore.UI.WPF.Modern.Controls.Primitives.MaximizedWindowFixer::GetWindowPlacement”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。” #13

Closed scx1125 closed 11 months ago

scx1125 commented 1 year ago

换了.net4.8建的wpf应用,使用UseModernWindowStyle后报错:托管调试助手 "PInvokeStackImbalance":“对 PInvoke 函数“Inkore.UI.WPF.Modern!Inkore.UI.WPF.Modern.Controls.Primitives.MaximizedWindowFixer::GetWindowPlacement”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。”

NotYoojun commented 1 year ago

换了.net4.8建的wpf应用,使用UseModernWindowStyle后报错:托管调试助手 "PInvokeStackImbalance":“对 PInvoke 函数“Inkore.UI.WPF.Modern!Inkore.UI.WPF.Modern.Controls.Primitives.MaximizedWindowFixer::GetWindowPlacement”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。”

这个估计是微软api有问题,但是好像不影响使用,可以继续运行

NotYoojun commented 11 months ago

You can manually turn the MaximizedWindowFixer by using ui:WindowHelper.FixMaximizedWindow="False"

如果你觉得这报错讨嫌的话,可以试试 ui:WindowHelper.FixMaximizedWindow="False" (不推荐,可能导致窗口最大化时不流畅)