【问题标题】:WPF Xaml Parse Exception unhandledWPF Xaml 解析异常未处理
【发布时间】:2014-04-22 18:41:42
【问题描述】:

PresentationFramework.dll 中出现“System.Windows.Markup.XamlParseException”类型的未处理异常

附加信息:“对与指定绑定约束匹配的“JustSnap.MainWindow”类型的构造函数的调用引发了异常。行号“3”和行位置“9”。

如果我点击查看详细信息:

{System.ComponentModel.Win32Exception (0x80004005): The specified module could not be found
   at JustSnap.UserActivityHook.Start(Boolean InstallKeyboardHook) in c:\Users\Tagon\Documents\Visual Studio 2013\Projects\JustSnap\JustSnap\UserActivityHook.cs:line 67
   at JustSnap.UserActivityHook.Start() in c:\Users\Tagon\Documents\Visual Studio 2013\Projects\JustSnap\JustSnap\UserActivityHook.cs:line 42
   at JustSnap.UserActivityHook..ctor() in c:\Users\Tagon\Documents\Visual Studio 2013\Projects\JustSnap\JustSnap\UserActivityHook.cs:line 38
   at JustSnap.MainWindow..ctor() in c:\Users\Tagon\Documents\Visual Studio 2013\Projects\JustSnap\JustSnap\MainWindow.xaml.cs:line 29}

我怎样才能找到我的问题并解决它? 你需要知道什么来帮助我?

问候, 塔贡

编辑

public void Start(bool InstallKeyboardHook)
        {
            if (hKeyboardHook == 0 && InstallKeyboardHook)
            {
                KeyboardHookProcedure = new HookProc(KeyboardHookProc);
                hKeyboardHook = SetWindowsHookEx(
                    WH_KEYBOARD_LL,
                    KeyboardHookProcedure,
                    Marshal.GetHINSTANCE(
                    Assembly.GetExecutingAssembly().GetModules()[0]),
                    0);
                if (hKeyboardHook == 0)
                {
                    int errorCode = Marshal.GetLastWin32Error();
                    Stop(true, false);
                    throw new Win32Exception(errorCode);
                }
            }
        }

public void Stop(bool UninstallKeyboardHook, bool ThrowExceptions)
        {
            if (hKeyboardHook != 0 && UninstallKeyboardHook)
            {
                int retKeyboard = UnhookWindowsHookEx(hKeyboardHook);
                hKeyboardHook = 0;
                if (retKeyboard == 0 && ThrowExceptions)
                {
                    int errorCode = Marshal.GetLastWin32Error();
                    throw new Win32Exception(errorCode);
                }
            }
        }

【问题讨论】:

  • UserActivityHook.cs 第 67 行的内容
  • 在您的 xaml 中查找任何不存在的静态资源
  • 第 38 行:开始();第 42 行:{ 第 67 行:停止(真,假); MainWindow.xaml.cs 中的第 29 行:actHook = new UserActivityHook();关于整个程序的启动和停止功能
  • 启动和停止的邮政编码;这可能会给一些想法。
  • 讨论了类似的问题here。尝试将Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]) 更改为System.Diagnostics.Process.GetCurrentProcess().MainModule.BaseAddress

标签: wpf xaml parsing exception unhandled


【解决方案1】:

变化:

Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0])

到:

System.Diagnostics.Process.GetCurrentProcess().MainModule.BaseAddress

这对我有帮助:))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    相关资源
    最近更新 更多