質問

タイトルとして、アプリを実行しようとすると、XamLParSexceptionが表示されます。私はXAMLを学ぶだけでXAMLを学ぶだけで、現在Windows Phone 8のゲーム開発と呼ばれる本からチュートリアルを続けています。ここではそれが私に与えている例外です。

System.Windows.Markup.xamLParSexceptionが発生しました HRESULT= -2146233087 message=プロパティ 'system.windows.controls.panel.children'は複数回設定されます。[行:53位置:74] source= System.Windows LineNumber= 53 LinePosition= 74 スタックトレース: System.Windows.Application.LoadComponent(Object Component、URI ResourceRocator)で spaceaim3d.views.menupage.initializeComponent()で spaceaim3d.views.menupage.Ctor()で innerexception:

これは私のコード

です
 public partial class MenuPage : PhoneApplicationPage
{
    private Dictionary<String, String> m_urls = new Dictionary<string, string>();

    public MenuPage()
    {
        InitializeComponent();
        m_urls["play"] = "/Views/GamePage.xaml";
        m_urls["ranks"] = "/Views/RanksPage.xaml";
        m_urls["map"] = "/Views/MapPage.xaml";
        m_urls["world"] = "/Views/WorldPage.xaml";
        m_urls["help"] = "/Views/HelpPage.xaml";
        m_urls["web"] = "/Views/WebPage.xaml";
        m_urls["settings"] = "/Views/SettingsPage.xaml";
    }

    //This is a common event handler used by all entities on menu page
    private void BrdPage_Tap(object sender, GestureEventArgs e)
    {
        //To get the tag name we case the sender object and get the tag as a string
        String page = ((Border)sender).Tag as String;
        NavigationService.Navigate(new Uri(m_urls[page], UriKind.Relative));
    }
}
.

そしてここで私のxamlコード

    <phone:PhoneApplicationPage
    x:Class="SpaceAim3D.Views.MenuPage"
    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"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Landscape" Orientation="Landscape"
    mc:Ignorable="d"
    shell:SystemTray.IsVisible="True">

    <phone:PhoneApplicationPage.Resources>
        <Style TargetType="Border">
            <Setter Property="CornerRadius" Value="125" />
            <Setter Property="Background">
                <Setter.Value>
                    <ImageBrush ImageSource="/Assets/asteroid.png" />
                </Setter.Value>
            </Setter>
        </Style>

        <Style TargetType="TextBlock" x:Key="ButtonText">
            <Setter Property="FontSize" Value="40"/>
            <Setter Property="FontWeight" Value="Bold" />
            <Setter Property="Foreground" Value="Black" />
            <Setter Property="VerticalAlignment" Value="Center"/>
            <Setter Property="HorizontalAlignment" Value="Center" />
        </Style>

    </phone:PhoneApplicationPage.Resources>

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <TextBlock Grid.Row="0" Grid.Column="0"
                   Style="{StaticResource PhoneTextTitle1Style}">
                   Space Aim <Bold>3D</Bold>
        </TextBlock>

        <Grid.Background>
            <ImageBrush ImageSource="/Assets/background.png" />
        </Grid.Background>

        <Border Grid.Row="1" Margin="10,5,536,194" Tap="BrdPage_Tap" Tag="play">
            <TextBlock Style="{StaticResource ButtonText}" Text="PLAY!"/>
        </Border>
        <Border Margin="255,74,291,221" Grid.RowSpan="2" Tap="BrdPage_Tap" Tag="ranks">
            <TextBlock Style="{StaticResource ButtonText}" Text="RANKS!" Margin="12,66,10,66" Width="160"/>
        </Border>
        <Border Grid.Row="1" Margin="12,162,534,37" Tap="BrdPage_Tap" Tag="map">
            <TextBlock Style="{StaticResource ButtonText}" Text="MAP"/>
        </Border>
        <Border Grid.Row="1" Margin="238,189,308,10" Tap="BrdPage_Tap" Tag="world">
            <TextBlock Style="{StaticResource ButtonText}" Text="WORLD"/>
        </Border>
        <Border Grid.Row="1" Margin="420,76,126,123" Tap="BrdPage_Tap" Tag="web">
            <TextBlock Style="{StaticResource ButtonText}" Text="WEB"/>
        </Border>
        <Border Grid.Row="1" Margin="556,148,-10,51" Tap="BrdPage_Tap" Tag="help">
            <TextBlock Style="{StaticResource ButtonText}" Text="HELP"/>
        </Border>
        <Border Margin="503,54,12,241" Grid.RowSpan="2" Tap="BrdPage_Tap" Tag="settings">
            <TextBlock Style="{StaticResource ButtonText}" Text="SETTINGS"/>
        </Border>
    </Grid>
</phone:PhoneApplicationPage>
.

役に立ちましたか?

解決

私はすべてのXAMLコードをgrid.backgroundの上の境界線タグを使って移動し、

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top