XAML تحليل استثناء:السمة {StaticResource PhoneAccentBrush} القيمة خارج النطاق

StackOverflow https://stackoverflow.com/questions/5006100

سؤال

لدي مشكلة مع استثناء, لم أجد الجواب على كيفية اصلاحها.السمة {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")));

في ويندوز الهاتف عندما كنت اضغط على زر App_info_Button الاستثناء يحدث على النظام.يقوم نظام ويندوز.Apllication.LoadComponent في App_info.ز.أنا.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>

هذا هو تتبع المكدس

في النظام.يقوم نظام ويندوز.التطبيق.LoadComponent(كائن مكون Uri resourceLocator) في PAK_phone_side.App_info.InitializeComponent() في PAK_phone_side.App_info..المنشئ() في النظام.انعكاس.RuntimeConstructorInfo.InternalInvoke(RuntimeConstructorInfo rtci, BindingFlags invokeAttr ، الموثق الموثق ، الكائن المعلمات ، CultureInfo الثقافة منطقية isBinderDefault, الجمعية المتصل, منطقية verifyAccess, StackCrawlMark& stackMark) في النظام.انعكاس.RuntimeConstructorInfo.InternalInvoke(كائن الكائنات ، BindingFlags invokeAttr ، الموثق الموثق ، الكائن[] المعلمات ، CultureInfo الثقافة ، StackCrawlMark& stackMark) في النظام.المنشط.InternalCreateInstance(نوع نوع منطقية غير معلنة, StackCrawlMark& stackMark) في النظام.المنشط.CreateInstance(نوع نوع) في النظام.يقوم نظام ويندوز.الملاحة.PageResourceContentLoader.BeginLoad_OnUIThread(AsyncCallback userCallback, PageResourceContentLoaderAsyncResult نتيجة) في النظام.يقوم نظام ويندوز.الملاحة.PageResourceContentLoader.<>c_DisplayClass4.ب_0(كائن وسائط) في النظام.انعكاس.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi ، وجوه الكائنات ، BindingFlags invokeAttr ، الموثق الموثق ، الكائن المعلمات ، CultureInfo الثقافة منطقية isBinderDefault, الجمعية المتصل, منطقية verifyAccess, StackCrawlMark& stackMark) في النظام.انعكاس.RuntimeMethodInfo.InternalInvoke(كائن الكائنات ، BindingFlags invokeAttr ، الموثق الموثق ، الكائن[] المعلمات ، CultureInfo الثقافة ، StackCrawlMark& stackMark) في النظام.انعكاس.MethodBase.الاحتجاج(كائن الكائنات ، وجوه[] المعلمات) في النظام.مندوب.DynamicInvokeOne(كائن[] args) في النظام.MulticastDelegate.DynamicInvokeImpl(كائن[] args) في النظام.مندوب.DynamicInvoke(كائن[] args) في النظام.يقوم نظام ويندوز.خيوط.DispatcherOperation.الاحتجاج() في النظام.يقوم نظام ويندوز.خيوط.المرسل.إيفاد(DispatcherPriority الأولوية) في النظام.يقوم نظام ويندوز.خيوط.المرسل.OnInvoke(كائن السياق) في النظام.يقوم نظام ويندوز.استضافة.CallbackCookie.الاحتجاج(كائن[] args) في النظام.يقوم نظام ويندوز.استضافة.DelegateWrapper.InternalInvoke(كائن[] args) في النظام.يقوم نظام ويندوز.RuntimeHost.ManagedHost.InvokeDelegate(IntPtr pHandle Int32 nParamCount, ScriptParam[] pParams, ScriptParam& pResult)

هل كانت مفيدة؟

المحلول

المشكلة هي في هذا السطر:

<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}" />
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top