mcpField
S
syncfusion-wpf-theming

syncfusion-wpf-theming

github.com/syncfusionデザイン・UI5189 回インストール1 週間前に更新
リポジトリ

syncfusion-wpf-theming について

Syncfusion WPF 開発者向けのテーマ設定スキルです。SfSkinManager で組み込みテーマを適用し、アプリ全体、コントロール単位、実行時に外観を調整する方法を説明します。

主な機能

  1. 01組み込みテーマの適用
  2. 02全体またはコントロール単位の設定
  3. 03実行時のテーマ切り替え
  4. 04色とフォントのカスタマイズ
  5. 05アクリル効果とホバー効果の設定
  6. 06ハイコントラストとフォーカス表示

活用シーン

  1. 01Fluent や Office のテーマを WPF アプリに適用
  2. 02ブランドに合わせたテーマ色の調整
  3. 03ライトとダークのテーマ切り替え
  4. 04アクセシビリティ向けハイコントラスト設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-theming

インストール後、Claude Code で/syncfusion-wpf-themingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
built-in-themes.md
skin-manager-setup.md
theme-customization.md
theme-features.md

詳細

Syncfusion WPF のテーマ設定

SfSkinManager を使用して、Syncfusion WPF コントロールとフレームワークコントロールに、プロフェッショナルでカスタマイズ可能なテーマを適用します。テーマ設定システムには、最新のデザイン標準(Windows 11、Fluent、Material 3、Office 2019)に準拠した組み込みテーマが用意されており、Theme Studio ユーティリティを使用して完全にカスタマイズできます。

このスキルを使用する場面

  • 組み込みテーマの適用: あらかじめデザインされたテーマを選択し、アプリケーション全体または特定のコントロールに適用します
  • テーマカラーのカスタマイズ: プログラムからテーマの色とフォントを変更します
  • ブランドテーマの作成: アプリケーションのブランドイメージに合わせたカスタムテーマを作成します
  • 視覚効果の設定: リビールアニメーション、アクリル効果、ホバー効果を有効または無効にします
  • 複数ウィンドウのテーマ設定: すべてのウィンドウにグローバルにテーマを適用するか、個々のコントロールに適用します
  • アクセシビリティ: キーボードフォーカスの視覚表示とハイコントラストテーマを設定します
  • テーマの切り替え: 実行時の動的なテーマ切り替えに対応します

概要

主なコンポーネント:

  • SfSkinManager: Syncfusion コントロールとフレームワークコントロールにテーマを適用します(XAML の添付プロパティまたは C# コード)
  • 組み込みテーマ: Windows 11、Fluent、Material、Office スタイルなど、17 種類以上のあらかじめデザインされたテーマ
  • カスタムテーマ: Theme Studio からエクスポートした後、カスタムテーマを登録してアプリケーションに統合します

ドキュメントとナビゲーションガイド

SfSkinManager の使用を開始する

📄 参照: references/skin-manager-setup.md

  • SfSkinManager の参照とアセンブリの追加
  • 個々のコントロールへのテーマの適用
  • アプリケーション全体へのグローバルなテーマの適用
  • テーマの継承(ウィンドウ → 子要素)の理解
  • XAML と C# での基本的な実装
  • ApplyThemeAsDefaultStyle プロパティの使用方法
組み込みテーマを確認する

📄 参照: references/built-in-themes.md

  • 利用可能な 17 種類のテーマの完全な一覧
  • ライト/ダークテーマのバリエーション
  • テーマのカテゴリ:Windows 11、Fluent、Material 3、Material、Office 2019、ハイコントラスト、システム
  • テーマアセンブリと NuGet パッケージの参照
  • アプリケーションに適したテーマの選択
  • Syncfusion コントロールとフレームワークコントロールとのテーマの互換性
テーマを作成およびカスタマイズする

📄 参照: references/theme-customization.md

  • Theme Studio からカスタムテーマをエクスポートした後、このドキュメントの手順に従います
  • プログラムから色とフォントをカスタマイズします
  • エクスポートしたテーマプロジェクトを操作します
  • テーマアセンブリを生成します
  • カスタムテーマを登録して統合します
  • 複数のフレームワークに対応する SDK スタイルのテーマプロジェクト(.NET 4.6.2、.NET 8.0、.NET 9.0、.NET 10.0)
高度なテーマ機能

📄 参照: references/theme-features.md

  • Fluent テーマのリビールアニメーション(ホバー時と押下時の効果)
  • HoverEffectMode と PressedEffectMode の設定
  • ウィンドウのアクリル背景効果
  • キーボードフォーカスの視覚インジケーター
  • ScrollBar モード(Native、Compact)
  • タッチサポートの設定

クイックスタートの例

XAML で組み込みテーマを適用する
<Window x:Class="MyApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:syncfusionskin="clr-namespace:Syncfusion.SfSkinManager;assembly=Syncfusion.SfSkinManager.WPF"
        syncfusionskin:SfSkinManager.Theme="{syncfusionskin:SkinManagerExtension ThemeName=Windows11Light}">
    <Grid>
        
    </Grid>
</Window>
C# でテーマを適用する
using Syncfusion.SfSkinManager;

public partial class MainWindow : Window
{
    public MainWindow()
    {
        // Enable theme as default style
        SfSkinManager.ApplyThemeAsDefaultStyle = true;
        
        // Apply theme to this window and all child controls
        SfSkinManager.SetTheme(this, new Theme("Windows11Light"));
        
        InitializeComponent();
    }
}
アプリケーション全体にテーマを適用する
public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        SfSkinManager.ApplyThemeAsDefaultStyle = true;
        SfSkinManager.ApplicationTheme = new Theme("Fluent
Dark");
        
        base.OnStartup(e);
    }
}

一般的なパターン

パターン 1:実行時にテーマを切り替える

アプリケーションでユーザーがテーマを動的に切り替えられるようにします。

// Example: Switch theme when user selects from dropdown
private void OnThemeSelectionChanged(string themeName)
{
    SfSkinManager.SetTheme(this, new Theme(themeName));
}
パターン 2:カスタムテーマと組み込みテーマを組み合わせる

組み込みテーマから派生したカスタムテーマを登録します。

string customThemeName = "MyCustomTheme";
string baseThemeName = "Windows11Light";

// Register custom theme (assuming custom theme assembly is referenced)
SkinHelper customThemeInstance = new MyCustomThemeSkinHelper();
SfSkinManager.RegisterTheme(customThemeName, customThemeInstance);

// Apply the custom theme
SfSkinManager.SetTheme(this, new Theme($"{customThemeName};{baseThemeName}"));
パターン 3:プログラムからテーマカラーをカスタマイズする

実行時に特定のテーマカラーを変更します。

// Example: Customize Windows 11 Light theme colors
var themeSettings = new Windows11LightThemeSettings();
themeSettings.Palette = new Windows11Palette 
{ 
    PrimaryColor = Colors.Blue,
    SecondaryColor = Colors.LightBlue
};

SfSkinManager.RegisterThemeSettings("Windows11Light", themeSettings);
SfSkinManager.SetTheme(this, new Theme("Windows11Light"));

テーマ選択ガイド

アプリケーションのスタイルで選択:

  • モダン/Windows 11 ネイティブ: Windows11Light、Windows11Dark
  • Microsoft Fluent Design: FluentLight、FluentDark
  • Material Design: Material3Light、Material3Dark、MaterialLight、MaterialDark
  • Office 風: Office2019Colorful、Office2019Black、Office2019White、Office2019DarkGray
  • ハイコントラスト/アクセシビリティ: Office2019HighContrast、Office2019HighContrastWhite
  • OS の設定に合わせる: SystemTheme

ライトとダーク:

  • 明るい環境や日中の使用には、ライトテーマを使用します
  • 暗い環境やユーザーの好みに応じて、ダークテーマを使用します
  • SystemTheme と組み合わせると、OS の設定に自動的に合わせられます

主なプロパティ

プロパティ用途型既定値
SfSkinManager.Theme適用するテーマ名(XAML 添付プロパティ)stringNone
SfSkinManager.ApplicationThemeアプリケーション全体のグローバルテーマTheme objectNone
HoverEffectModeホバー時の視覚効果(Fluent テーマ)HoverEffect enumBackgroundAndBorder
PressedEffectMode押下時の視覚効果(Fluent テーマ)PressedEffect enumReveal
ShowAcrylicBackgroundアクリルのぼかし効果を有効にします(Fluent テーマ)boolfalse
ApplyThemeAsDefaultStyleテーマを既定のスタイルリソースとして適用しますboolfalse

関連スキル

  • カスタムテーマの作成とエクスポート(Theme Studio ガイド)
  • キーボードアクセシビリティとフォーカスインジケーター
  • テーマを適用したアプリケーションのレスポンシブデザイン

コメント