سيلفرلايت 4:XamlParseException عند محاولة الارتباط بالأنماط والموارد
-
18-09-2020 - |
سؤال
أنا أستخدم Silverlight 4 وأحاول دمج أحد السمات من مجموعة أدوات Silverlight 4 اعتبارًا من أبريل.
يقرأ App.xaml الخاص بي كما يلي:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Themes/System.Windows.Controls.Theming.ExpressionDark.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
عندما تقرأ نافذتي الرئيسية
<Grid x:Name="LayoutRoot" Background="{Binding Source={StaticResource ThemeBackgroundBrush}}">
<TextBlock Text="Test" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="{Binding Source={StaticResource ThemeForegroundBrush}}" />
</Grid>
إنه يعمل بشكل مثالي.ومع ذلك، أرغب في استخدام الموارد، لذا قمت بالمضي قدمًا وقمت بما يلي
<Grid x:Name="LayoutRoot" Background="{Binding Source={StaticResource ThemeBackgroundBrush}}">
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="{Binding Source={StaticResource ThemeForegroundBrush}}" />
</Style>
</Grid.Resources>
<TextBlock Text="Test" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
يفشل :-(
لقد حاولت وضع نمط المورد في أماكن أخرى مثل App.xaml وما إلى ذلك.
هل يعرف أحد كيف يمكنني استخدام الموارد حتى لا أضطر إلى تحديد المقدمة لكل TextBlock؟
ملاحظة - أنا أستخدم سمة ExpressionDark...
شكرا لك مقدما،
مايك
المحلول
لا أعتقد أنك بحاجة إلى مصدر ملزم جزء.
لقد استخدمت ما يلي
<Setter Property="Foreground" Value="{StaticResource ThemeForegroundBrush}" />
في الماضي ويعمل بشكل جيد.
لا تنتمي إلى StackOverflow