2011-02-15 75 views
0

我有一个异常的问题,无法找到如何解决它的答案。 属性{StaticResource PhoneAccentBrush}值超出范围。XAML解析异常:属性{StaticResource PhoneAccentBrush}值超出范围

System.Windows.Application.LoadComponent(this, new System.Uri("/PAK_phone_side;component/Views/About/App_info.xaml", System.UriKind.Relative)); 
     this.LayoutRoot = ((System.Windows.Controls.Grid)(this.FindName("LayoutRoot"))); 
     this.TitlePanel = ((System.Windows.Controls.StackPanel)(this.FindName("TitlePanel"))); 
     this.ApplicationTitle = ((System.Windows.Controls.TextBlock)(this.FindName("ApplicationTitle"))); 
     this.PageTitle = ((System.Windows.Controls.TextBlock)(this.FindName("PageTitle"))); 
     this.ContentPanel = ((System.Windows.Controls.Grid)(this.FindName("ContentPanel"))); 
     this.textBlock1 = ((System.Windows.Controls.TextBlock)(this.FindName("textBlock1"))); 

Windows Phone中,当我点击按钮App_info_Button例外发生在System.Windows.Apllication.LoadComponent在App_info.g.i.cs,上面的代码是从该文件。

这里是App_info.xaml

<phone:PhoneApplicationPage 
x:Class="windowsphoneapp.App_info" 
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="Portrait" Orientation="Portrait" 
mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="480" 
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="PAK " Style="{StaticResource PhoneTextNormalStyle}"/> 
     <TextBlock x:Name="PageTitle" Text="App Infos" 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"> 
     <TextBlock Height="311" HorizontalAlignment="Center" Margin="25,32,0,0" Name="textBlock1" Text="This Application is designed ...." 
        VerticalAlignment="Center" Width="425" Style="{StaticResource PhoneAccentBrush}" /> 
    </Grid> 
</Grid>  
</phone:PhoneApplicationPage> 

内容面板定义这是堆栈跟踪

在System.Windows.Application.LoadComponent(对象组件,乌里resourceLocator) 在PAK_phone_side.App_info .InitializeComponent() at PAK_phone_side.App_info..ctor() at System.Reflection.RuntimeConstructorInfo.InternalInvoke(RuntimeConstructorInfo rtci,BindingFlags invokeAttr,Binder binder,Object parameters,CultureInfo culture,Boolean isBinderDefault,Ass embly呼叫者,布尔verifyAccess,StackCrawlMark & stackMark) 在System.Reflection.RuntimeConstructorInfo.InternalInvoke(对象OBJ,的BindingFlags invokeAttr,粘结剂粘结剂,对象在System.Activator.InternalCreateInstance []参数,CultureInfo的文化,StackCrawlMark & stackMark) (类型型,非公开布尔,StackCrawlMark & stackMark) 在System.Activator.CreateInstance(类型类型) 在System.Windows.Navigation.PageResourceContentLoader.BeginLoad_OnUIThread(的AsyncCallback userCallback,PageResourceContentLoaderAsyncResult结果) 在System.Windows.Navigation.PageResourceContentLoader。 <> C_ DisplayClass4.b _0(对象参数) 在System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi,对象OBJ,的BindingFlags invokeAttr,粘结剂粘结剂,对象参数,CultureInfo的文化,布尔isBinderDefault,装配呼叫者,布尔verifyAccess, StackCrawlMark & stackMark) 在System.Reflection.RuntimeMethodInfo.InternalInvoke(对象OBJ,的BindingFlags invokeAttr,粘结剂粘结剂,对象[]参数,CultureInfo的文化,StackCrawlMark & stackMark) 在System.Reflection.MethodBase.Invoke(对象OBJ,对象[ ]参数) at System.Delegate.DynamicInvokeOne(Object [] args) at System.MulticastDelegate.DynamicInvokeImpl(Object [] args) at System.Delegate.DynamicInvoke(Object [] args) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.Dispatch(DispatcherPriority priority) at System.Windows.Threading.Dispatcher.OnInvoke在System.Windows.Hosting.DelegateWrapper.InternalInvoke(对象[]参数)在System.Windows.Hosting.CallbackCookie.Invoke(对象[]参数) (对象上下文) 在System.Windows.RuntimeHost.ManagedHost.InvokeDelegate( IntPtr的pHandle,的Int32 nParamCount,ScriptParam [] pParams,ScriptParam & pResult)

+0

'PhoneAccentBrush`是一个有效的系统资源,因此应该可以在任何地方解析。你能发布包含所谓无效属性的XAML代码吗? (可能它的视觉树比目前为止显示的要高) – 2011-02-15 16:22:37

+0

XAML并没有包含很多简单的 – 2011-02-15 17:00:33

回答

2

的问题是在这条线:

<TextBlock Height="311" HorizontalAlignment="Center" 
      Margin="25,32,0,0" Name="textBlock1" 
      Text="This Application is designed ...." 
      VerticalAlignment="Center" Width="425" 
      Style="{StaticResource PhoneAccentBrush}" /> 

您正试图将画笔资源值设置为样式,这是导致该异常的原因。您可以尝试将XAML更改为:

<TextBlock Height="311" HorizontalAlignment="Center" 
      Margin="25,32,0,0" Name="textBlock1" 
      Text="This Application is designed ...." 
      VerticalAlignment="Center" Width="425" 
      Style="{StaticResource PhoneTextNormalStyle}" 
      Foreground="{StaticResource PhoneAccentBrush}" />