FrameworkElement.DefaultStyleKey プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
テーマ スタイルを使用または定義するときに、このコントロールのスタイルを参照するために使用されるキーを取得または設定します。
protected public:
property System::Object ^ DefaultStyleKey { System::Object ^ get(); void set(System::Object ^ value); };
protected internal object DefaultStyleKey { get; set; }
member this.DefaultStyleKey : obj with get, set
Protected Friend Property DefaultStyleKey As Object
プロパティ値
スタイルのキー。 テーマ スタイル参照の一部として正常に機能するために、この値は、スタイルを設定するコントロールの Type である必要があります。
例
次の例は、「解説」で説明されている依存関係プロパティメタデータオーバーライドの使用法を示しています。 このコードでは、専用のコントロール ライブラリ アセンブリから使用することを目的としたカスタム コントロール クラス NumericUpDown
を定義します。 示されている静的コンストラクターは、いくつかのプライベート初期化関数を参照し、クラス ハンドラー (もう 1 つの一般的なコントロール サブクラス化シナリオ)を登録 し、ルーティング イベントを処理済みとしてマークする、およびクラス処理を参照してください)、最後に クラスの DefaultStyleKey 依存関係プロパティ のメタデータを NumericUpDown
オーバーライドします。
DefaultStyleKey は常に、目的のキーとして独自の型を返します。これは、テーマ スタイル システムが任意のスタイル以外のコントロールのスタイルを検索するために使用する規則です。
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Automation.Peers;
using System.Windows.Automation.Provider;
using System.Windows.Automation;
using System.Globalization;
using System.Diagnostics;
namespace CustomControlLibrary
{
public partial class NumericUpDown : Control
{
static NumericUpDown()
{
InitializeCommands();
// Listen to MouseLeftButtonDown event to determine if slide should move focus to itself
EventManager.RegisterClassHandler(typeof(NumericUpDown),
Mouse.MouseDownEvent, new MouseButtonEventHandler(NumericUpDown.OnMouseLeftButtonDown), true);
DefaultStyleKeyProperty.OverrideMetadata(typeof(NumericUpDown), new FrameworkPropertyMetadata(typeof(NumericUpDown)));
}
}
}
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Input
Namespace CustomControlLibrary
Public Partial Class NumericUpDown
Inherits Control
Shared Sub New()
InitializeCommands()
' Listen to MouseLeftButtonDown event to determine if slide should move focus to itself
EventManager.RegisterClassHandler(GetType(NumericUpDown), Mouse.MouseDownEvent, New MouseButtonEventHandler(AddressOf NumericUpDown.OnMouseLeftButtonDown), True)
DefaultStyleKeyProperty.OverrideMetadata(GetType(NumericUpDown), New FrameworkPropertyMetadata(GetType(NumericUpDown)))
End Sub
End Class
End Namespace
この例の完全なソース コードは 、Visual Basic で使用できます。
注釈
通常、このプロパティは直接プロパティ アクセサーを介して設定されません。 代わりに、新しい FrameworkElement 派生クラスを作成するたびに、この依存関係プロパティの型固有のメタデータをオーバーライドします。 コントロールを派生させる場合は、コントロール派生クラス (または同等のクラス初期化) の静的コンストラクター内で、識別子に対して DefaultStyleKeyProperty メソッドを呼び出OverrideMetadataします。
コントロールは通常、このプロパティの既定値を独自の型にオーバーライドしますが、場合によっては、テーマ ディクショナリにスタイルが存在する基本型を使用することもできます。 これは、基本コントロールのコントロール テンプレートがその派生コントロールの視覚的表現を完全に定義し、派生型が公開する追加のメンバーがコントロール テンプレートの一部として追加の要素を必要としない場合にのみ実用的です。
要素またはコントロールでテーマ スタイルを意図的に使用しないようにするには、 プロパティを OverridesDefaultStyle に true
設定します。
依存プロパティ情報
識別子フィールド | DefaultStyleKeyProperty |
に設定されたメタデータ プロパティ true |
AffectsMeasure |
適用対象
こちらもご覧ください
.NET