WPF XAML Parse异常发生错误?

时间:2014-01-28 08:05:47

标签: c# wpf xaml mvvm

 <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            x:Class="AFICController.EULA"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:res="clr-namespace:AFICController.Resources"
            Title="{x:Static res:Strings.WizardWelcomeWindow_Title}"
            Width="800"
            Height="600"  
            WindowStartupLocation="CenterScreen"
            Icon="/AFICController;Component/Resources/Images/att_icon.ico"
            ResizeMode="NoResize">

我正在使用C#WPF Applcation我正在使用MVVM实现它。我的应用程序首先显示启动画面,看起来不错,但之后我想要EULA(最终用户许可协议)窗口,当我尝试执行它时显示异常as“XAML Parse Exception”在'System.Windows.Markup.StaticExtension'上提供值“通过定位上面的代码引发异常。

以下是我调用EULA的C#代码。请帮助我,因为我已经尝试了所有方法来删除此异常。?

class App : Application
{
[STAThread()]
static void Main()
{
  Splasher.Splash = new SplashScreen();
  Splasher.ShowSplash();

  Mouse.OverrideCursor = null;

  for (int i = 0; i < 5000; i++)
  {
    Thread.Sleep(1);
  }

  Splasher.CloseSplash();
  new App();
}
/// <summary>
/// 
/// </summary>
public App()
{

  App.Current.Resources.MergedDictionaries.Add(new ResourceDictionary { Source = new       Uri(@"\Resources\Dictionary\ATTColors.xaml", UriKind.Relative) });

  App.Current.Resources.MergedDictionaries.Add(new ResourceDictionary { Source = new Uri(@"\Resources\Dictionary\AppButton.xaml", UriKind.Relative) });

  Console.WriteLine("EULA Opened");
  StartupUri = new System.Uri("EULA.xaml", UriKind.Relative);

  //StartupUri = new System.Uri("View/WizardDialog.xaml", UriKind.Relative);


  Run();
}

1 个答案:

答案 0 :(得分:25)

鉴于您的错误:

  

“XAML Parse Exception”为'System.Windows.Markup.StaticExtension'提供值引发异常“

我认为你的问题在于这一行:

Title="{x:Static res:Strings.WizardWelcomeWindow_Title}"

这是使用StaticExtension的地方。

通过转到其属性并确认自定义工具设置为Strings.resx(而不是PublicResXFileCodeGenerator,这是默认设置,确保您的ResXFileCodeGenerator是公开的 - 您可以在那里直接编辑它,或者在打开资源文件时通过设计器中的Access Modified组合框进行编辑。