mcpField
S
syncfusion-wpf-digital-gauge

syncfusion-wpf-digital-gauge

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

syncfusion-wpf-digital-gauge について

Syncfusion の WPF 用 SfDigitalGauge コントロールを扱うリファレンススキルです。セグメント形式とスタイルを説明し、時計、ダッシュボード、カウンター、計器画面で数値や英数字を表示できます。

主な機能

  1. 01LED風セグメントで値を表示
  2. 024種類の文字表示形式を選択
  3. 03点灯・消灯セグメントのスタイル設定
  4. 04サイズ、間隔、傾きの調整
  5. 05右から左へのテキストに対応

活用シーン

  1. 01リアルタイム時計やカウントダウンの表示
  2. 02ダッシュボードでセンサー値を表示
  3. 03デジタル走行距離計やステータス表示の作成

インストール

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

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

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

同梱ファイル

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

references/
character-types.md
customization.md
getting-started.md
segment-styling.md
transformations.md

詳細

デジタルゲージの実装(SfDigitalGauge)

SfDigitalGauge コントロールは、英数字をデジタル LED 風のセグメントで表示します。WPF アプリケーションで仮想デジタルディスプレイ、時計、スピードメーター、カウンターを作成するのに最適です。

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

次のような場合は、SfDigitalGauge を使用してください。

  • 数値を表示する(時計、タイマー、カウンターなど)
  • ダッシュボードや計器パネル用のデジタルディスプレイを作成する
  • 英数字のテキストを表示する(製品コード、ステータスメッセージなど)
  • 速度や距離を表示するデジタルスピードメーターやオドメーターを作成する
  • クラシックな LED セグメントの外観を備えたレトロスタイルのデジタルインターフェイスを作成する
  • 特殊文字を表示する(ドットマトリックス形式)
  • リアルタイムで更新されるディスプレイを実装する(ライブデータフィード、センサーの読み取り値など)

コンポーネントの種類: データ可視化コントロール
プラットフォーム: Windows Presentation Foundation(WPF)
パッケージ: Syncfusion.SfGauge.WPF


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

はじめに

📄 参照: references/getting-started.md

次のような場合に参照してください。

  • WPF プロジェクトに SfDigitalGauge をインストールして構成する
  • アセンブリ参照を追加する(NuGet、ツールボックス、または手動)
  • XAML と C# コードの名前空間を設定する
  • 初回使用時にコントロールを初期化する
  • 基本的な値を表示する
  • テーマのサポートを適用する
文字の種類とセグメント

📄 参照: references/character-types.md

次のような場合に参照してください。

  • 4 種類のセグメント表示から選択する
  • 数字のみを表示する(7 セグメント)
  • 数字とアルファベットを表示する(14 セグメントまたは 16 セグメント)
  • 特殊文字を表示する(8×8 ドットマトリックス)
  • 用途に応じた CharacterType を理解する
  • セグメントの種類を視覚的に比較する
カスタマイズとスタイル設定

📄 参照: references/customization.md

次のような場合に参照してください。

  • 文字の寸法(高さ、幅)を調整する
  • 文字間の間隔を調整する
  • 文字のストローク色を変更する
  • 暗く表示する(非アクティブな)セグメントをスタイル設定する
  • 背景セグメントの不透明度を調整する
  • 見栄えのよいディスプレイを作成する
変形

📄 参照: references/transformations.md

次のような場合に参照してください。

  • 文字を拡大・縮小する
  • 傾斜変形を適用する
  • 傾いたデジタルディスプレイを作成する
  • X 軸または Y 軸に沿って文字を変形する
  • 遠近効果を実装する
セグメントのスタイル設定と高度な機能

📄 参照: references/segment-styling.md

次のような場合に参照してください。

  • セグメントの太さを調整する
  • 右から左(RTL)のテキスト方向を有効にする
  • 外観を細かく調整する
  • 背景色に合わせる

クイックスタート

基本的なデジタルディスプレイ
<Window xmlns:gauge="clr-namespace:Syncfusion.UI.Xaml.Gauges;assembly=Syncfusion.SfGauge.Wpf">
    <gauge:SfDigitalGauge Value="12345" />
</Window>
using Syncfusion.UI.Xaml.Gauges;

SfDigitalGauge digitalGauge = new SfDigitalGauge();
digitalGauge.Value = "12345";
this.Content = digitalGauge;
デジタル時計表示
<gauge:SfDigitalGauge Value="11:59:50 PM"
                      Height="100"
                      Width="375"
                      CharacterHeight="60"
                      CharacterWidth="25"
                      CharacterType="EightCrossEightDotMatrix"
                      CharacterStroke="#146CED"
                      DimmedBrush="#F2F2F2"
                      HorizontalAlignment="Center"
                      VerticalAlignment="Center" />
SfDigitalGauge clock = new SfDigitalGauge();
clock.Value = "11:59:50 PM";
clock.Height = 100;
clock.Width = 375;
clock.CharacterHeight = 60;
clock.CharacterWidth = 25;
clock.CharacterType = CharacterType.EightCrossEightDotMatrix;
clock.CharacterStroke = (SolidColorBrush)new BrushConverter().ConvertFrom("#146CED");
clock.DimmedBrush = (SolidColorBrush)new BrushConverter().ConvertFrom("#F2F2F2");
clock.HorizontalAlignment = HorizontalAlignment.Center;
clock.VerticalAlignment = VerticalAlignment.Center;

よくあるパターン

パターン 1:シンプルな数値カウンター

数字のみの場合は、7 セグメント表示を使用します。

<gauge:SfDigitalGauge Value="12345" 
                      CharacterType="SegmentSeven"
                      CharacterHeight="40"
                      CharacterWidth="20"
                      CharacterStroke="Red" />

使用場面: 0~9 の数字だけが必要なカウンター、タイマー、数値表示。

パターン 2:英数字ディスプレイ

テキストと数字には、14 セグメントまたは 16 セグメントを使用します。

<gauge:SfDigitalGauge Value="SPEED 088" 
                      CharacterType="SegmentFourteen"
                      CharacterHeight="50"
                      CharacterWidth="30"
                      CharacterStroke="Green" />

使用場面: ステータスメッセージ、製品コード、英数字が混在するラベル。

パターン 3:特殊文字向けドットマトリックス

幅広い文字をサポートするには、8×8 ドットマトリックスを使用します。

<gauge:SfDigitalGauge Value="SYNC@2024!" 
                      CharacterType="EightCrossEightDotMatrix"
                      CharacterHeight="60"
                      CharacterWidth="35"
                      CharacterStroke="Orange" />

使用場面: メールアドレス、URL、特殊記号、複雑なテキスト表示。

パターン 4:スタイル設定済みダッシュボードディスプレイ

包括的なスタイル設定を適用して、プロフェッショナルな外観にします。

<gauge:SfDigitalGauge Value="TEMP 72°F"
                      CharacterType="SegmentSixteen"
                      CharacterHeight="55"
                      CharacterWidth="32"
                      CharactersSpacing="8"
                      CharacterStroke="#00FF00"
                      DimmedBrush="#1A1A1A"
                      DimmedBrushOpacity="30"
                      SegmentThickness="3" />

使用場面: 明瞭な視認性が求められるダッシュボードパネル、制御室、監視用ディスプレイ。

パターン 5:傾斜したデジタルスピードメーター

動的な遠近効果を作成します。

<gauge:SfDigitalGauge Value="125 MPH"
                      CharacterType="SegmentSeven"
                      CharacterHeight="70"
                      CharacterWidth="40"
                      SkewAngleX="15"
                      CharacterStroke="Cyan" />

使用場面: スピードメーター、レーシングダッシュボード、動きを感じさせる動的なディスプレイ。


主要プロパティのリファレンス

プロパティ型説明
Valuestring表示する英数字のテキスト
CharacterTypeEnumセグメントの種類:SegmentSeven、SegmentFourteen、SegmentSixteen、EightCrossEightDotMatrix
CharacterHeightdouble文字ごとの高さ(ピクセル)
CharacterWidthdouble文字ごとの幅(ピクセル)
CharactersSpacingdouble文字間の距離
CharacterStrokeBrushアクティブ(点灯中)セグメントの色
DimmedBrushBrush非アクティブ(減光中)セグメントの色
DimmedBrushOpacitydouble減光中のセグメントの不透明度(0-100)
SegmentThicknessdoubleセグメント線の太さ
SkewAngleXdouble水平方向の傾斜角度(度)
SkewAngleYdouble垂直方向の傾斜角度(度)
EnableRTLFormatbool右から左へのテキスト方向を有効にします

一般的な使用例

1. リアルタイム時計の表示

更新されるセグメントで現在時刻を表示します:

// Update timer every second
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(1);
timer.Tick += (s, e) => digitalGauge.Value = DateTime.Now.ToString("hh:mm:ss tt");
timer.Start();
2. カウントダウンタイマー

イベント用のカウントダウン表示を作成します:

TimeSpan remaining = TimeSpan.FromMinutes(10);
digitalGauge.Value = remaining.ToString(@"mm\:ss");
3. センサー値のリアルタイム表示

適切な書式でセンサーデータを表示します:

digitalGauge.Value = $"TEMP {sensorReading:F1}°C";
digitalGauge.CharacterType = CharacterType.SegmentSixteen;
4. デジタルオドメーター

先頭にゼロを付けて距離を表示します:

double miles = 12345.6;
digitalGauge.Value = miles.ToString("000000.0");
digitalGauge.CharacterType = CharacterType.SegmentSeven;
5. ステータスインジケーター

システムのステータスメッセージを表示します:

digitalGauge.Value = isOnline ? "ONLINE" : "OFFLINE";
digitalGauge.CharacterStroke = isOnline ? Brushes.Green : Brushes.Red;
digitalGauge.CharacterType = CharacterType.SegmentFourteen;

ベストプラクティス

  1. 適切なCharacterTypeを選択します:

    • 数字のみ → SegmentSeven
    • 数字と文字 → SegmentFourteenまたはSegmentSixteen
    • 特殊文字 → EightCrossEightDotMatrix
  2. 読みやすさを確保します:

    • 適切なCharacterHeightを使用します(多くの場合、40-70px)
    • 適切なCharactersSpacingを設定します(5-15px)
    • コントラストの高いCharacterStrokeの色を選択します
  3. 減光中のセグメントを最適化します:

    • DimmedBrushを背景に合わせます
    • DimmedBrushOpacityを調整し(20-40)、控えめな効果にします
  4. パフォーマンスに関する考慮事項:

    • Valueを頻繁に更新すること(間隔が50ms未満)は避けます
    • 文字列の書式設定を使用して、不要な更新を防ぎます
  5. アクセシビリティ:

    • スクリーンリーダー向けにテキストによる代替情報を提供します
    • 十分な色のコントラストを確保します
    • 視覚に障害のあるユーザーに配慮します

関連スキル


追加リソース

コメント