次の方法で共有


アプリケーション リソースの使用方法 (WPF .NET)

この例では、アプリケーション定義リソースを使用する方法を示します。 リソースはアプリケーション レベルで定義できますが、通常はプロジェクトで使用しているファイルに応じて、App.xaml または Application.xaml ファイルのいずれかで行います。 アプリケーションによって定義されたリソースは、グローバルスコープであり、アプリケーションのすべての部分からアクセスできます。

次の例は、アプリケーション定義ファイルを示しています。 アプリケーション定義ファイルは、リソース セクション (Resources プロパティの値) を定義します。 アプリケーション レベルで定義されたリソースには、アプリケーションの一部である他のすべてのページからアクセスできます。 この場合、リソースは宣言されたスタイルです。 コントロール テンプレートを含む完全なスタイルは長い場合があるため、この例では、スタイルの ContentTemplate プロパティ セッター内で定義されているコントロール テンプレートを省略します。

<Application.Resources>
    <Style TargetType="Border" x:Key="FancyBorder">
        <Setter Property="Background" Value="#4E1A3D" />
        <Setter Property="BorderThickness" Value="5" />
        <Setter Property="BorderBrush">
            <Setter.Value>
                <LinearGradientBrush>
                    <GradientStop Offset="0.0" Color="#4E1A3D"/>
                    <GradientStop Offset="1.0" Color="Salmon"/>
                </LinearGradientBrush>
            </Setter.Value>
        </Setter>
    </Style>
</Application.Resources>

次の例は、前の例のアプリケーション レベルのリソースを参照する XAML ページを示しています。 リソースは、リソースの一意のリソース キーを指定する StaticResource Markup Extension で参照されます。 リソース "FancyBorder" は、現在のオブジェクトとウィンドウのスコープ内に見つからないため、リソース参照は現在のページを超えて、アプリケーション レベルのリソースに引き続き使用されます。

<Border Style="{StaticResource FancyBorder}">
    <StackPanel Margin="5">
        <Button>Button 1</Button>
        <Button>Button 2</Button>
        <Button>Button 3</Button>
        <Button>Button 4</Button>
    </StackPanel>
</Border>

関連項目