可能重复:
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>
答案 0 :(得分:4)
正如Firedragon指出的那样,您将Brush
设置为Style
的值。这显然不是一回事。
问题在于:
<Button Name="ClickMeButton" Style="{StaticResource PhoneAccentBrush}" ...
这是无效的。你可能想做的事情是:
<Button Name="ClickMeButton" Foreground="{StaticResource PhoneAccentBrush}" ...