我正在使用Silverlight 4,我正在尝试整合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指定前景?
PS - 我正在使用ExpressionDark主题......
先谢谢,
麦克
答案 0 :(得分:3)
我认为您不需要绑定源部分。
我使用了以下
<Setter Property="Foreground" Value="{StaticResource ThemeForegroundBrush}" />
在过去,它运作良好。