スタイルは<Application.Resources>アプリケーション全体に適用され、既定のスタイル ルックアップ ルールに常に従うわけではありません。
通常、その動作が望ましくない場合は、<Window.Resources>代わりにスタイルを配置して、ウィンドウ内のオブジェクトにのみ適用され、通常のスタイル ルックアップ ルールが使用されるようにします。
デフォルトでは、やなどのほとんどのデフォルトの WPF コントロールであるから継承するオブジェクトのスタイルを除き、スタイルはコントロール/テンプレートの境界を越えて適用されません。ControlLabelTextBox
したがって、オブジェクト内の任意のControlオブジェクトのスタイルを設定し.Resourcesて、すべての子オブジェクトに適用できます。
<UserControl.Resources>
    <Style TargetType="{x:Type Label}">
        <Setter Property="Foreground" Value="Red" />
    </Style>
</UserControl.Resources>
ただし、 はand ではなくTextBlockから継承するため、 a のスタイルはテンプレートの境界を越えて適用されません。FrameworkElementControlTextBlock
スタイルを に保持したい場合は、Application.Resourcesを作成する直前に、そのスタイルのプロパティをビジュアル ツリーのさらに下に上書きする必要があります。TextBlock
<UserControl x:Class="MyNamespace.MyDataTypeView"... >
    <UserControl.Resources>
        <Style TargetType="{x:Type TextBlock}">
            <Setter Property="Foreground" Value="Black" />
        </Style>
    </UserControl.Resources>
    <TextBlock Text="Test" />
</UserControl>
ただし、このスタイルは、内UserControlのテキストなど、内の別のコントロール内のオブジェクトには適用されません。ComboBoxItemsComboBox
TextBlock子コントロール内で使用される は からスタイルを適用しますが、でTextBlock定義された TextBlock スタイルはコントロール/テンプレートの境界を越えますが、他ので定義された TextBlock スタイルは適用されApplication.Resourcesないため、 からではありません。  <UserControl.Resources>Application.ResourcesX.Resources
x:Staticこれらの特定の状況では、色の設定に使用されるブラシ キーを追跡し、次のようTextBlock.Textに に上書きする必要がある場合があります。ComboBox.Resources
( SystemColorsキーが間違っている可能性があります)
<ComboBox.Resources>
    <SolidColorBrush x:Key="{x:Static SystemColors.ControlTextBrushKey}" Color="Black" />
</ComboBox.Resources>