属性值超出范围异常

时间:2011-11-18 08:33:18

标签: c# windows-phone-7

  

可能重复:
  XAML parse Exception: Attribute {StaticResource PhoneAccentBrush} value is out of range

最近我开始用c#开始赢取手机7编程。我第一次只拿一个按钮和文本框。在按钮点击功能我写道:

private void ClickMeButton_Click(object sender, RoutedEventArgs e)
        {

            BannerTextBlock.Text = MessageTextBox.Text;
            MessageTextBox.Text = String.Empty;
        }

然后我在文件中收到错误消息**:** MainPage.g.i.cs

  

排队: System.Windows.Application.LoadComponent(这是新的System.Uri(“/ WindowsPhoneApplication2; component / MainPage.xaml”,   System.UriKind.Relative));

     

错误消息:属性{StaticResource PhoneAccentBrush}值超出范围。 [行:39位置:138]

我在微软自己的网站上找不到任何解决方案。我能做什么?

UI的XAML内容:

       <phone:PhoneApplicationPage 
       x:Class="WindowsPhoneApplication2.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">

       <!--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="MY APPLICATION" 
     Style="{StaticResource PhoneTextNormalStyle}"/>
        <TextBlock x:Name="PageTitle" Text="page name" 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">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        <TextBox Name="MessageTextBox"  
        FontSize="{StaticResource  PhoneFontSizeExtraLarge}" Margin="20,20,10,477"/>
        <Button Grid.Column="1" Name="ClickMeButton" Content="Click Me"  
         HorizontalAlignment="Right" Padding="4" Margin="0,20,20,477"
           Style="{StaticResource PhoneAccentBrush}" DataContext="{Binding}" 
                Click="ClickMeButton_Click" />
        <Grid Margin="0,0,0,477">
            <TextBlock Name="BannerTextBlock" 
             Style="{StaticResource PhoneTextExtraLargeStyle}" 
           Foreground="#FFFF9A00" HorizontalAlignment="Stretch"
           TextWrapping="Wrap" TextAlignment="Center" FontWeight="Bold"   
            Margin="12,0,12,491" />
        </Grid>
         </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>  

1 个答案:

答案 0 :(得分:4)

正如Firedragon指出的那样,您将Brush设置为Style的值。这显然不是一回事。

问题在于:

<Button Name="ClickMeButton" Style="{StaticResource PhoneAccentBrush}" ...

这是无效的。你可能想做的事情是:

<Button Name="ClickMeButton" Foreground="{StaticResource PhoneAccentBrush}" ...