2011-11-18 90 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}" ... 
相關問題