我遇到异常问题,无法找到解决方法。 属性{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(对象组件,Uri resourceLocator) 在PAK_phone_side.App_info.InitializeComponent() 在PAK_phone_side.App_info..ctor() 在System.Reflection.RuntimeConstructorInfo.InternalInvoke(RuntimeConstructorInfo rtci,BindingFlags invokeAttr,Binder binder,Object parameters,CultureInfo culture,Boolean isBinderDefault,Assembly caller,Boolean verifyAccess,StackCrawlMark&amp; stackMark) at System.Reflection.RuntimeConstructorInfo.InternalInvoke(Object obj,BindingFlags invokeAttr,Binder binder,Object [] parameters,CultureInfo culture,StackCrawlMark&amp; stackMark) 在System.Activator.InternalCreateInstance(Type type,Boolean nonPublic,StackCrawlMark&amp; stackMark) 在System.Activator.CreateInstance(类型类型) 在System.Windows.Navigation.PageResourceContentLoader.BeginLoad_OnUIThread(AsyncCallback userCallback,PageResourceContentLoaderAsyncResult result) 在System.Windows.Navigation.PageResourceContentLoader。&lt;&gt; c_ DisplayClass4.b _0(Object args) 在System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi,Object obj,BindingFlags invokeAttr,Binder binder,Object parameters,CultureInfo culture,Boolean isBinderDefault,Assembly caller,Boolean verifyAccess,StackCrawlMark&amp; stackMark) 在System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj,BindingFlags invokeAttr,Binder binder,Object []参数,CultureInfo文化,StackCrawlMark&amp; stackMark) 在System.Reflection.MethodBase.Invoke(Object obj,Object []参数) 在System.Delegate.DynamicInvokeOne(Object [] args) 在System.MulticastDelegate.DynamicInvokeImpl(Object [] args) 在System.Delegate.DynamicInvoke(Object [] args) 在System.Windows.Threading.DispatcherOperation.Invoke() 在System.Windows.Threading.Dispatcher.Dispatch(DispatcherPriority priority) 在System.Windows.Threading.Dispatcher.OnInvoke(对象上下文) 在System.Windows.Hosting.CallbackCookie.Invoke(Object [] args) 在System.Windows.Hosting.DelegateWrapper.InternalInvoke(Object [] args) 在System.Windows.RuntimeHost.ManagedHost.InvokeDelegate(IntPtr pHandle,Int32 nParamCount,ScriptParam [] pParams,ScriptParam&amp; pResult)
答案 0 :(得分: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}" />