Pergunta

Eu estou usando o Silverlight 4 e eu estou tentando integrar um dos temas a partir de 4 do Silverlight toolkit a partir de abril.

Meu Aplicativo.xaml lê da seguinte maneira:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Themes/System.Windows.Controls.Theming.ExpressionDark.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

Quando minha janela principal lê

<Grid x:Name="LayoutRoot" Background="{Binding Source={StaticResource ThemeBackgroundBrush}}">
    <TextBlock Text="Test" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="{Binding Source={StaticResource ThemeForegroundBrush}}" />
</Grid>

Ele funciona perfeitamente.No entanto, gostaria de usar recursos, então eu fui em frente e fiz o seguinte

<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>

Falha :-(

Eu tentei colocar o recurso de estilo em outros lugares, como o App.xaml etc.

Alguém sabe como posso utilizar os recursos, então eu não tenho para especificar o primeiro plano para cada um TextBlock?

PS - eu estou usando o ExpressionDark tema...

Obrigado Antecipadamente,

Mike

Foi útil?

Solução

Eu não acredito que você precisa o Encadernação De Origem a parte.

Eu tenho usado o seguinte

<Setter Property="Foreground" Value="{StaticResource ThemeForegroundBrush}" />

no passado e funciona bem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top