2012-08-06 103 views
0

我想創建我的第一個Windows手機應用程序,但我不斷得到這個「XamlParseException」拋出我。它看起來像錯誤來自InitializeComponent()方法這是一個震驚,因爲它是由VS自動創建。在Windows Phone應用程序XamlParseException

這裏是例外:

XamlParseException 無法分配財產 'System.Windows.FrameworkElement.Loaded'。 [行:14的位置:39]

這裏是後面的代碼:

namespace WinHomeWork1 
{ 
    public partial class MainPage : PhoneApplicationPage 
    { 
     // Constructor 
     public MainPage() 
     { 
      InitializeComponent(); 
     } 

     private void PhoneApplicationPage_Loaded(object sender, TextChangedEventArgs e) 
     { 
      myTextBox.Focus(); 
     } 

     private void ClickMe_Click(object sender, RoutedEventArgs e) 
     { 
      if (myTextBox.Text.CompareTo("1 2 3 4") == 0) 
      { 
       myTextBlock.Text = "You have won!"; 
      } 
      else 
       myTextBlock.Text = "You have Lost"; 
     } 
} 
} 

這裏是XAML代碼:

<phone:PhoneApplicationPage 
    x:Class="WinHomeWork1.MainPage" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" 
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768" 
    FontFamily="{StaticResource PhoneFontFamilyNormal}" 
    FontSize="{StaticResource PhoneFontSizeNormal}" 
    Foreground="{StaticResource PhoneForegroundBrush}" 
    SupportedOrientations="Portrait" Orientation="Portrait" 
    shell:SystemTray.IsVisible="True" Loaded="PhoneApplicationPage_Loaded"> 

    <!--LayoutRoot is the root grid where all page content is placed--> 
    <Grid x:Name="LayoutRoot" Background="Transparent"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 

     <!--TitlePanel contains the name of the application and page title--> 
     <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> 
      <TextBlock x:Name="ApplicationTitle" Text="Brahman Initiative" Style="{StaticResource PhoneTextNormalStyle}"/> 
      <TextBlock x:Name="PageTitle" Text="108 mintes" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> 
     </StackPanel> 

     <!--ContentPanel - place additional content here--> 
     <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
      <TextBox Height="72" HorizontalAlignment="Left" Margin="0,6,0,0" Name="myTextBox" Text="" VerticalAlignment="Top" Width="460" /> 
      <Button Content="Go" Height="74" HorizontalAlignment="Left" Margin="234,88,0,0" Name="ClickMe" VerticalAlignment="Top" Width="222" Click="ClickMe_Click" /> 
      <TextBlock Height="68" HorizontalAlignment="Left" Margin="12,88,0,0" Name="myTextBlock" Text="" VerticalAlignment="Top" Width="200" /> 
     </Grid> 
    </Grid> 

    <!--Sample code showing usage of ApplicationBar--> 
    <!--<phone:PhoneApplicationPage.ApplicationBar> 
     <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"> 
      <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/> 
      <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/> 
      <shell:ApplicationBar.MenuItems> 
       <shell:ApplicationBarMenuItem Text="MenuItem 1"/> 
       <shell:ApplicationBarMenuItem Text="MenuItem 2"/> 
      </shell:ApplicationBar.MenuItems> 
     </shell:ApplicationBar> 
    </phone:PhoneApplicationPage.ApplicationBar>--> 

</phone:PhoneApplicationPage> 

該方案僅具有3個元素,1)文本框2 )一個TextBlock和一個3)按鈕。用戶將數據輸入到文本框中,然後單擊「Go」按鈕,如果輸入是「1 2 3 4」,則應用程序將在textBlock中顯示「You have Won」,如果輸入了任何其他輸入,它將顯示「You已失去「。請幫助,我不知道任何Xaml,所以我不能玩Xaml代碼。

+2

請添加XAML代碼。 (從MainPage.xaml文件複製粘貼) – 2012-08-06 20:49:09

回答

1

更改參數ePhoneApplicationPage_LoadedRoutedEventArgs類的一個實例:

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) 
{ 
    myTextBox.Focus(); 
} 
+0

非常感謝你解決了這個問題 – KillaKem 2012-08-07 09:45:47

1

您的錯誤歸因於PhoneApplicationPage_Loaded事件處理程序方法。它應該是這樣的:

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) 
{ 
    myTextBox.Focus(); 
} 
相關問題