【问题标题】:Xaml error messageXaml 错误消息
【发布时间】:2012-05-24 03:27:49
【问题描述】:

我在 XAML 标记部分的开头收到错误消息

在“System.Windows.StaticResourceExtension”上提供值引发了异常。行号“8”和行位置“9”。

<Window x:Class="prj.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:s="clr-namespace:prj"
    xmlns:c="clr-namespace:prj.Controls"
    WindowStartupLocation="CenterOwner"
    Title="MainWindow" 
    Height="850" Width="1000">

感谢任何帮助。

问候, 阿米特

【问题讨论】:

  • 你能发布堆栈跟踪或内部异常
  • 如果您在 xaml 中使用任何静态资源,请确保它可用。

标签: c# .net wpf xaml


【解决方案1】:

此错误可能由以下原因引起: 对于静态资源,你应该在引用它之前定义它(动态资源没有这个限制)。 有关详细信息,请参阅: http://social.msdn.microsoft.com/Forums/en/wpf/thread/f76fdf5d-a9cd-4f42-b2a0-ad560744a39f

也许没用,但请先仔细检查您的代码。

【讨论】:

  • 我在提交问题之前看过那个论坛,但它没有帮助。正如您在 Xaml 开头看到的那样,我没有使用任何需要参考的东西......我什至删除了这两个 clr-namespace 行,但我收到了错误消息。谢谢。
【解决方案2】:

行号和列号在这里不相关。在这种类型的异常中,它们可能没有实际意义。

挖掘内部异常并寻找它找不到的关键。然后在整个解决方案中搜索该键以查看它的使用位置。对于每次使用,请确保资源可用。

通常,当有一个用户控件 (UC1) 具有在 UC1 的主体中使用的资源时,就会发生这种情况。然后,另一个开发人员将 UC1 的一部分复制到 UC2 而不复制资源。在窗口中使用 UC2 时,会显示这种类型的神秘消息。

【讨论】:

  • 是的,我正在编写一个预先编写的代码并且错过了它。谢谢你,这是一个很好的帮助。
  • 很高兴它有帮助。请将其中一个回复标记为答案,以便在以后的搜索中帮助其他人。
【解决方案3】:

行号和位置可能引用了后面代码中的InitializeComponent() 方法。我会接受大多数建议。在使用它之前,请确保您的静态资源可用。

您是否在该 XAML 文件中的任何位置使用静态引用?如果是这样,请找到定义它的字典并确保它在 XAML 文件之前加载。最简单的方法是将资源字典添加到您的应用程序merged dictionaries。你可以刷新你的静态资源知识here

【讨论】:

  • 是的,事实上问题出在应用程序字典中。谢谢
【解决方案4】:

我有完全相同的东西,但我遇到的问题是因为我在 UserControl 的资源部分为ListBox 定义了一个DataTemplate,但是对于 WPF 来说相当新,我包含了一个DataType=”ListBoxItem”

嗯,这导致了问题,因为DataType 是不必要的。把它拿走解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-18
    • 1970-01-01
    • 2014-03-25
    • 2012-06-09
    • 2021-04-20
    • 1970-01-01
    • 2021-04-16
    • 2012-02-17
    相关资源
    最近更新 更多