문제

은 Silverlight 4를 사용하고 있으며 4 월부터 Silverlight 4 Toolkit에서 테마 중 하나를 통합하려고합니다.

내 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 등 다른 장소에 배치하려고 노력했다.

누구나 자원을 사용할 수있는 방법을 알고 있으므로 각 텍스트 블록에 대한 전경을 지정할 필요가 없습니까?

추신 - 나는 익스프레스 다크 주제를 사용하고있다 ...

미리 감사드립니다

마이크

도움이 되었습니까?

해결책

바인딩 소스 부분이 필요하다고 믿지 않습니다.

다음을 사용했습니다

<Setter Property="Foreground" Value="{StaticResource ThemeForegroundBrush}" />
. 과거에

그것은 잘 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top