2011-11-18 92 views
2

可能重复:
XAML parse Exception: Attribute {StaticResource PhoneAccentBrush} value is out of range属性值超出范围异常

最近我开始赢手机在C#编程7。对于第一次我把一个按钮和文本框only.In按钮点击功能我写道:

private void ClickMeButton_Click(object sender, RoutedEventArgs e) 
     { 

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

然后我收到错误信息**文件:** MainPage.gics

在line: System.Windows.Application.LoadComponent(this,new System.Uri(“/ WindowsPhoneApplication2; component/MainPage.xaml”, System.UriKind.Relative));

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

我在Microsoft自己的站点找不到任何解决方案。我能做什么? 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> 
+0

看起来你在你的XAML中有一个无效的StaticResource。你能发布你的UI的XAML内容吗? – Strillo

+0

我认为你需要编辑你的帖子才能在xaml中添加。粘贴到注释中并不会很有用 – Firedragon

+0

有错误提示您问题出在xaml代码中,而不是在按钮代码中。试着看看它告诉你的线/位置。发布代码的这一部分可能也有帮助。你是否试图将PhoneAccentBrush设置为一种风格?它可能类似于这个问题:http://stackoverflow.com/questions/5006100/xaml-parse-exception-attribute-staticresource-phoneaccentbrush-value-is-out-o另一件事,虽然这里是你正在清空MessageTextBox在使用之前。您可能想要切换这些语句 – Firedragon

回答

4

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

的问题是在这里:

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

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

<Button Name="ClickMeButton" Foreground="{StaticResource PhoneAccentBrush}" ... 
相关问题