2013-02-15 42 views
3

我熟悉了WinForms,我正在尝试学习一些WPF的东西。WPF:XAML解析异常未处理

当窗口正在初始化时,我遇到了这个XAML解析异常。以下是我迄今为止的一些调查。

首先,我有2个名为'问题'和'答案'的课程。

我得到的错误,当我试图初始化这些2类是这样的:

public MainWindow() 
{ 
    InitializeComponent(); 
} 

private string _firstName; 

public string FirstName 
{ 
    get { return _firstName; } 
    set { _firstName = value; } 
} 

Question _question = new Question(); 
Answer _answer = new Answer(); 

private void MetroWindow_Initialized_1(object sender, EventArgs e) 
{ 
} 

private void MetroWindow_Loaded_1(object sender, RoutedEventArgs e) 
{ 
    //some code here 
} 

private void btnStart_Click(object sender, RoutedEventArgs e) 
{ 
    //some code here 
} 

但是,当我试图删除提问的初始化和答案,它运行正常。

顺便说一句我正在使用MahApps。

有人能给我提示我的问题吗?非常感谢!

[编辑]

它说的

The invocation of the constructor on type 'Recitation_Game.MainWindow' that matches the specified binding constraints threw an exception.' Line number '4' and line position '9 

你可能想看看我的XAML那就是:再次

<Controls:MetroWindow x:Class="Recitation_Game.MainWindow" ShowIconOnTitleBar="true" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro" 
     Title="Recitation Game" Height="350" Width="525" WindowStartupLocation="CenterScreen" ResizeMode="NoResize" Initialized="MetroWindow_Initialized_1" Loaded="MetroWindow_Loaded_1"> 
    <Grid> 
     <Rectangle Fill="#FFF4F4F5" HorizontalAlignment="Left" Height="178" Margin="10,91,0,0" VerticalAlignment="Top" Width="497" Stroke="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/> 
     <Label x:Name="lblWelcome" Content="Label" HorizontalAlignment="Left" Margin="30,109,0,0" VerticalAlignment="Top" Foreground="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" FontSize="14"/> 
     <Label Content="Recitation Game" HorizontalAlignment="Left" Margin="366,23,0,0" VerticalAlignment="Top" FontSize="18"> 
      <Label.Foreground> 
       <SolidColorBrush Color="{DynamicResource {x:Static SystemColors.MenuHighlightColorKey}}"/> 
      </Label.Foreground> 
     </Label> 
     <Label Content="v. 01.00.00" HorizontalAlignment="Left" Margin="432,57,0,0" VerticalAlignment="Top" FontSize="14"> 
      <Label.Foreground> 
       <SolidColorBrush Color="{DynamicResource {x:Static SystemColors.MenuHighlightColorKey}}"/> 
      </Label.Foreground> 
     </Label> 
     <Button x:Name="btnStart" Content="Start Game" HorizontalAlignment="Left" Margin="400,275,0,0" VerticalAlignment="Top" Width="107" Click="btnStart_Click"/> 
    </Grid> 
    <Window.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colours.xaml" /> 
       <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" /> 
       <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" /> 
       <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" /> 
       <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" /> 
       <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/FlatButton.xaml" /> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Window.Resources> 
</Controls:MetroWindow> 

谢谢!

+0

XAML解析异常。 C#代码不会帮助。发布您的XAML。 – 2013-02-15 16:57:40

+0

另外,发布特定的XAML异常文本 - 它通常有一个行号 – 2013-02-15 16:58:06

+0

'我在WinForms中熟悉了自己,并且我正在尝试学习一些WPF的东西。第一步:忘记你在winforms中学到的所有东西。 WPF需要不同的心态。 – 2013-02-15 16:58:09

回答

3

嫌疑人问题是您的XAML尝试使用Window.Loaded事件处理程序,但没有一个(至少不在发布的代码中)。

这是XAML中的第4行:

Loaded="MetroWindow_Loaded_1" 

话虽这么说,XAML解析异常不提供大量的信息在他们的消息。但是,您可以检查异常的InnerException,并且通常会获得有关XAML解析器失败原因的更多详细信息。

+1

我在背后的MetroWindow_Loaded_1背后的实际代码中收到了此事件。请看看我的编辑,谢谢! – jomsk1e 2013-02-15 17:06:36

+0

@JRC你可以发布解析异常的内部异常吗? – 2013-02-15 17:11:37

+1

我试图在InitializeComponent()中设置一个断点,但在它到达断点之前它已经抛出一个错误,并且'没有可用的源' – jomsk1e 2013-02-15 17:17:51