gpt4 book ai didi

c# - 设置属性 'System.Windows.FrameworkElement.Height' 抛出异常

转载 作者:行者123 更新时间:2023-11-30 20:46:38 24 4
gpt4 key购买 nike

一个用 C# 和 WPF 编码的内部应用程序可以在 20 多人(只有一名用户除外)的情况下正常运行。显示的第一个窗口通常(但不总是)导致我们的异常处理程序认真报告的异常:

Exception trace:
Set property 'System.Windows.FrameworkElement.Height' threw an exception.
Overflow or underflow in the arithmetic operation.

Stack trace:
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
at System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
at System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)
at System.Windows.Application.DoStartup()
at System.Windows.Application.<.ctor>b__1(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

XAML 没有明显的问题,而且我从不直接接触任何元素的高度。我试过将窗口默认设置为更大或更小的尺寸,但这并没有解决任何问题。它实际上是一个简单的用户登录窗口。问题经常但并非总是在重启后消失。

我不希望有解决这个问题的 Elixir ,但不清楚我应该从哪里开始调试——WPF 似乎有一个设计缺陷,几乎不可能调试此类异常?

最佳答案

按照 Abbas 的建议再次搜索后,这是我最终得到的解决方案:

/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
[DllImport("msvcr71.dll", CallingConvention = CallingConvention.Cdecl)]
private static extern int _controlfp(int n, int mask);

private void Application_Startup(object sender, StartupEventArgs e)
{
_controlfp(0x9001F, 0xFFFFF);

// ... whatever else you want to do on application startup
// e.g. add last-resort error handler via DispatcherUnhandledException
}
}

某些软件显然会使浮点计算模式处于意想不到的状态。 _controlfp 调用将其设置回预期模式。

关于c# - 设置属性 'System.Windows.FrameworkElement.Height' 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26618087/

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