英語で読む

次の方法で共有


Style.TargetType プロパティ

定義

このスタイルの対象となる型を取得または設定します。

C#
[System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)]
[System.Windows.Markup.Ambient]
public Type TargetType { get; set; }

プロパティ値

このスタイルの対象の型。

属性

次の例では、 要素のすべてのインスタンスに適用されるスタイルを TextBlock 定義します。

XAML
<Style TargetType="{x:Type TextBlock}">
  <Setter Property="FontFamily" Value="Segoe Black" />
  <Setter Property="HorizontalAlignment" Value="Center" />
  <Setter Property="FontSize" Value="12pt" />
  <Setter Property="Foreground" Value="#777777" />
</Style>

TargetType 設定せずに プロパティを TextBlock 型に設定 x:Key すると、 は x:Key 暗黙的に に {x:Type TextBlock}設定されます。 これは、上記Styleに 以外の{x:Type TextBlock}Style値をx:Key指定した場合、 がすべてのTextBlock要素に自動的に適用されないことも意味します。 代わりに、スタイルを要素に明示的に適用する TextBlock 必要があります。

多くの WPF コントロールは他の WPF コントロールの組み合わせで構成されているため、型のすべてのコントロールに適用されるスタイルを作成すると、大きな影響を与える可能性があります。 たとえば、 内のCanvasコントロールを対象とするTextBoxスタイルを作成すると、 が などのComboBox別のコントロールの一部である場合TextBoxでも、キャンバス内のすべてのTextBoxコントロールにスタイルが適用されます。

注釈

または FrameworkContentElementからFrameworkElement派生する任意の要素にスタイルを設定できます。 したがって、ターゲットの型には、これらの要素のいずれかを指定できます。 ただし、プロパティを使用してスタイルを TargetType 作成し、プロパティも定義 TargetType する別のスタイルに基づく場合、派生スタイルのターゲット型は基本スタイルのターゲット型と同じか、または派生する必要があります。

を指定TargetTypeしない場合は、 に をx:KeyStyle指定し、スタイルのプロパティをクラス名で修飾する必要があります。

XAML 属性の使用方法

<object  TargetType="{x:Type typeName}"/>
-or-
<object  TargetType="typeName"/>

XAML 値

{x:Type ...} x:Type Markup Extension マークアップ拡張機能の使用法。

Typename クラスの型名。

適用対象

製品 バージョン
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10