ShaderEffect ShaderEffect ShaderEffect ShaderEffect Class

定義

PixelShader を使用して、カスタム ビットマップ効果を実現します。Provides a custom bitmap effect by using a PixelShader.

public ref class ShaderEffect abstract : System::Windows::Media::Effects::Effect
public abstract class ShaderEffect : System.Windows.Media.Effects.Effect
type ShaderEffect = class
    inherit Effect
Public MustInherit Class ShaderEffect
Inherits Effect
継承

次のコード例から派生させる方法を示しています、ShaderEffectクラス。The following code example shows how to derive from the ShaderEffect class.

using System;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Effects;
using System.Reflection;

namespace ShaderEffectDemo
{

    public class ThresholdEffect : ShaderEffect
    {
        private static PixelShader _pixelShader =
            new PixelShader() { UriSource = MakePackUri("ThresholdEffect.fx.ps") };

        public ThresholdEffect()
        {
            PixelShader = _pixelShader;

            UpdateShaderValue(InputProperty);
            UpdateShaderValue(ThresholdProperty);
            UpdateShaderValue(BlankColorProperty);
        }

        // MakePackUri is a utility method for computing a pack uri
        // for the given resource. 
        public static Uri MakePackUri(string relativeFile)
        {
            Assembly a = typeof(ThresholdEffect).Assembly;

            // Extract the short name.
            string assemblyShortName = a.ToString().Split(',')[0];

            string uriString = "pack://application:,,,/" +
                assemblyShortName +
                ";component/" +
                relativeFile;

            return new Uri(uriString);
        }

        ///////////////////////////////////////////////////////////////////////
        #region Input dependency property

        public Brush Input
        {
            get { return (Brush)GetValue(InputProperty); }
            set { SetValue(InputProperty, value); }
        }

        public static readonly DependencyProperty InputProperty =
            ShaderEffect.RegisterPixelShaderSamplerProperty("Input", typeof(ThresholdEffect), 0);

        #endregion

        ///////////////////////////////////////////////////////////////////////
        #region Threshold dependency property

        public double Threshold
        {
            get { return (double)GetValue(ThresholdProperty); }
            set { SetValue(ThresholdProperty, value); }
        }

        public static readonly DependencyProperty ThresholdProperty =
            DependencyProperty.Register("Threshold", typeof(double), typeof(ThresholdEffect),
                    new UIPropertyMetadata(0.5, PixelShaderConstantCallback(0)));

        #endregion

        ///////////////////////////////////////////////////////////////////////
        #region BlankColor dependency property

        public Color BlankColor
        {
            get { return (Color)GetValue(BlankColorProperty); }
            set { SetValue(BlankColorProperty, value); }
        }

        public static readonly DependencyProperty BlankColorProperty =
            DependencyProperty.Register("BlankColor", typeof(Color), typeof(ThresholdEffect),
                    new UIPropertyMetadata(Colors.Transparent, PixelShaderConstantCallback(1)));

        #endregion
    }
}

次のコード例は、前に対応するシェーダーを示しています。ShaderEffectクラス。The following code example shows a shader that corresponds to the previous ShaderEffect class.

// Threshold shader 

// Object Declarations

sampler2D implicitInput : register(s0);
float threshold : register(c0);
float4 blankColor : register(c1);

//--------------------------------------------------------------------------------------
// Pixel Shader
//--------------------------------------------------------------------------------------
float4 main(float2 uv : TEXCOORD) : COLOR
{
    float4 color = tex2D(implicitInput, uv);
    float intensity = (color.r + color.g + color.b) / 3;
    
    float4 result;
    if (intensity > threshold)
    {
        result = color;
    }
    else
    {
        result = blankColor;
    }
    
    return result;
}

次の XAML は、カスタムのシェーダー効果を使用する方法を示します。The following XAML shows how to use the custom shader effect.

<Window x:Class="ShaderEffectDemo.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:ShaderEffectDemo"
    Title="Window1" Height="300" Width="300">
    <Window.Resources>
        <local:ThresholdEffect x:Key="thresholdEffect" Threshold="0.25" BlankColor="Orange" />
    </Window.Resources>
    
    <Grid Effect="{StaticResource thresholdEffect}">

    </Grid>
</Window>

注釈

派生、ShaderEffectカスタム効果を実装するクラスを 1 つのピクセル シェーダーに基づいています。Derive from the ShaderEffect class to implement a custom effect based on a single pixel shader.

次の手順では、カスタム効果を作成する方法を示します。The following steps show how to create a custom effect.

  1. 負荷をPixelShaderプリコンパイル済みの高レベル シェーディング言語 (HLSL) バイトコードから。Load a PixelShader from precompiled High Level Shading Language (HLSL) bytecode.

  2. 効果のパラメーターを表す依存関係プロパティを定義し、 Brush-ベースのサーフェスの入力。Define dependency properties that represent the parameters of the effect and the Brush-based surface inputs. いずれかを使用して、RegisterPixelShaderSamplerPropertyオーバー ロードでこれらの入力を関連付けるには、HLSL バイトコードで参照されている番号を登録します。Use one of the RegisterPixelShaderSamplerProperty overloads to associate these inputs with register numbers that are referenced in the HLSL bytecode.

サンプラーの数を 4 に制限されます。The number of samplers is limited to 4.

PS 3.0 のシェーダーを使用する場合、次の制限が適用されます。The following restrictions apply when using a PS 3.0 shader.

  • PS 3.0 のシェーダーが割り当てられたときにサンプラーの数は 8 に増加します。When a PS 3.0 shader is assigned, the number of samplers increases to 8. 8 サンプラーの登録を有効にするには、その他のシェーダーの前に、PS 3.0 のシェーダーを割り当てます。Assign the PS 3.0 shader before other shaders to enable registering 8 samplers.

  • 浮動小数点数の 224 の完全なシェーダー定数レジスタの制限が使用されます。The full shader constant register limit of 224 for floats is used. 詳細については、次を参照してください。 ps_3_0します。For more information, see ps_3_0.

  • 次のデータ型は、PS 3.0 のシェーダーのみでサポートされます。The following data types are supported in PS 3.0 shaders only. シェーダーの低いバージョンで使用する場合は、例外がスローされます。An exception is thrown if these are used in lower shader versions.

    • int 型に変換できるint: uintbytesbytelongulongshortushortcharint and types convertible to int: uint, byte, sbyte, long, ulong, short, ushort, char

    • bool

  • 有効な PS 3.0 のシェーダーがハードウェア PS 3.0 のサポートがないコンピューターに読み込まれている場合は、シェーダーは無視されます。If a valid PS 3.0 shader is loaded on a computer that does not have hardware support for PS 3.0, the shader is ignored. シェーダーが有効でない場合、例外はスローされません。If the shader is invalid, no exception is thrown.

  • コンピューターが 1 つ以上のビデオ カードを持っている場合、動作は、少なくとも対応のビデオ カードによって定義されます。If a computer has more than one video card, the behavior is defined by the least capable video card. たとえば、コンピューターに、PS 3.0 をサポートしているうちの 1 つと、うちの 1 つは、2 つのビデオ カードがある場合、動作は、同じコンピューターが PS 3.0 をサポートしていない場合、です。For example, if the computer has two video cards, one of which supports PS 3.0 and one of which does not, the behavior is the same as if the computer does not support PS 3.0.

  • コンピューターがハードウェアでレンダリング PS 3.0 をサポートしますが、無効な PS 3.0 のシェーダーが割り当てられている場合、InvalidPixelShaderEncounteredイベントが発生します。If a computer supports rendering PS 3.0 in hardware, but an invalid PS 3.0 shader is assigned, the InvalidPixelShaderEncountered event is raised. 無効なの PS 3.0 のシェーダーの例は、コンパイルされたもの、ps_3_swフラグ。An example of an invalid PS 3.0 shader is one compiled with the ps_3_sw flag. ShaderEffectクラスは、コンパイルされた PS 3.0 のシェーダーのみを受け入れる、 ps_3_0 fxc.exe にフラグが渡されます。The ShaderEffect class accepts only PS 3.0 shaders that are compiled with the ps_3_0 flag passed to fxc.exe. 詳細については、次を参照してください。効果コンパイラ ツールします。For more information, see Effect-Compiler Tool.

注意

PS シェーダー 2.0 は、ソフトウェアでレンダリングするときに実行します。PS 2.0 shaders run when rendering in software. ただし、場合でも、PS 3.0 は、システムのハードウェアによってサポートされて、PS 3.0 のシェーダーは実行されませんソフトウェア レンダリング中にします。However, even if PS 3.0 is supported by the system's hardware, PS 3.0 shaders do not run during software rendering.

コンストラクター

ShaderEffect() ShaderEffect() ShaderEffect() ShaderEffect()

ShaderEffect クラスの新しいインスタンスを初期化します。Initializes a new instance of the ShaderEffect class.

フィールド

PixelShaderProperty PixelShaderProperty PixelShaderProperty PixelShaderProperty

PixelShader 依存関係プロパティを識別します。Identifies the PixelShader dependency property.

プロパティ

CanFreeze CanFreeze CanFreeze CanFreeze

オブジェクトを変更不可能にできるかどうかを示す値を取得します。Gets a value that indicates whether the object can be made unmodifiable.

(Inherited from Freezable)
DdxUvDdyUvRegisterIndex DdxUvDdyUvRegisterIndex DdxUvDdyUvRegisterIndex DdxUvDdyUvRegisterIndex

画面空間に対するテクスチャ座標の偏導関数で使用するシェーダー レジスタを示す値を取得または設定します。Gets or sets a value that indicates the shader register to use for the partial derivatives of the texture coordinates with respect to screen space.

DependencyObjectType DependencyObjectType DependencyObjectType DependencyObjectType

このインスタンスの CLRCLR 型をラップする DependencyObjectType を取得します。Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Inherited from DependencyObject)
Dispatcher Dispatcher Dispatcher Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
EffectMapping EffectMapping EffectMapping EffectMapping

派生クラスでオーバーライドされた場合は、効果によってマウス入力と座標系を変換します。When overridden in a derived class, transforms mouse input and coordinate systems through the effect.

(Inherited from Effect)
HasAnimatedProperties HasAnimatedProperties HasAnimatedProperties HasAnimatedProperties

1 つ以上の AnimationClock オブジェクトが、このオブジェクトの任意の依存関係プロパティに関連付けられているかどうかを示す値を取得または設定します。Gets a value that indicates whether one or more AnimationClock objects is associated with any of this object's dependency properties.

(Inherited from Animatable)
IsFrozen IsFrozen IsFrozen IsFrozen

オブジェクトが変更可能かどうかを示す値を取得します。Gets a value that indicates whether the object is currently modifiable.

(Inherited from Freezable)
IsSealed IsSealed IsSealed IsSealed

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。Gets a value that indicates whether this instance is currently sealed (read-only).

(Inherited from DependencyObject)
PaddingBottom PaddingBottom PaddingBottom PaddingBottom

効果の出力テクスチャが、下端に合わせたその入力テクスチャより大きいことを示す値を取得または設定します。Gets or sets a value indicating that the effect's output texture is larger than its input texture along the bottom edge.

PaddingLeft PaddingLeft PaddingLeft PaddingLeft

効果の出力テクスチャが、左端に合わせたその入力テクスチャより大きいことを示す値を取得または設定します。Gets or sets a value indicating that the effect's output texture is larger than its input texture along the left edge.

PaddingRight PaddingRight PaddingRight PaddingRight

効果の出力テクスチャが、右端に合わせたその入力テクスチャより大きいことを示す値を取得または設定します。Gets or sets a value indicating that the effect's output texture is larger than its input texture along the right edge.

PaddingTop PaddingTop PaddingTop PaddingTop

効果の出力テクスチャが、上端に合わせたその入力テクスチャより大きいことを示す値を取得または設定します。Gets or sets a value indicating that the effect's output texture is larger than its input texture along the top edge.

PixelShader PixelShader PixelShader PixelShader

効果で使用する PixelShader を取得または設定します。Gets or sets the PixelShader to use for the effect.

メソッド

ApplyAnimationClock(DependencyProperty, AnimationClock) ApplyAnimationClock(DependencyProperty, AnimationClock) ApplyAnimationClock(DependencyProperty, AnimationClock) ApplyAnimationClock(DependencyProperty, AnimationClock)

AnimationClock を指定した DependencyProperty に適用します。Applies an AnimationClock to the specified DependencyProperty. プロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。If the property is already animated, the SnapshotAndReplace handoff behavior is used.

(Inherited from Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

AnimationClock を指定した DependencyProperty に適用します。Applies an AnimationClock to the specified DependencyProperty. プロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。If the property is already animated, the specified HandoffBehavior is used.

(Inherited from Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline) BeginAnimation(DependencyProperty, AnimationTimeline) BeginAnimation(DependencyProperty, AnimationTimeline) BeginAnimation(DependencyProperty, AnimationTimeline)

指定された DependencyProperty にアニメーションを適用します。Applies an animation to the specified DependencyProperty. アニメーションは、次のフレームがレンダリングされるときに開始されます。The animation is started when the next frame is rendered. 指定されたプロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。If the specified property is already animated, the SnapshotAndReplace handoff behavior is used.

(Inherited from Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

指定された DependencyProperty にアニメーションを適用します。Applies an animation to the specified DependencyProperty. アニメーションは、次のフレームがレンダリングされるときに開始されます。The animation is started when the next frame is rendered. 指定したプロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。If the specified property is already animated, the specified HandoffBehavior is used.

(Inherited from Animatable)
CheckAccess() CheckAccess() CheckAccess() CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。Clears the local value of a property. クリアするプロパティは DependencyProperty 識別子で指定されます。The property to be cleared is specified by a DependencyProperty identifier.

(Inherited from DependencyObject)
ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。Clears the local value of a read-only property. 消去するプロパティは、DependencyPropertyKey で指定します。The property to be cleared is specified by a DependencyPropertyKey.

(Inherited from DependencyObject)
Clone() Clone() Clone() Clone()

この ShaderEffect オブジェクトの変更可能な複製を作成し、このオブジェクトの値の詳細コピーを作成します。Creates a modifiable clone of this ShaderEffect object, making deep copies of this object's values. このメソッドは、このオブジェクトの依存関係プロパティをコピーするときにリソース参照とデータ バインディングをコピーしますが (ただし、これらは解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。When copying this object's dependency properties, this method copies resource references and data bindings (which may no longer resolve), but not animations or their current values.

CloneCore(Freezable) CloneCore(Freezable) CloneCore(Freezable) CloneCore(Freezable)

基本 (アニメーション化されていない) プロパティ値を使用して、インスタンスを、指定した Freezable の複製 (詳細コピー) にします。Makes the instance a clone (deep copy) of the specified Freezable using base (non-animated) property values.

CloneCurrentValue() CloneCurrentValue() CloneCurrentValue() CloneCurrentValue()

この ShaderEffect オブジェクトの変更可能な複製を作成し、このオブジェクトの現在値の詳細コピーを作成します。Creates a modifiable clone of this ShaderEffect object, making deep copies of this object's current values. リソース参照、データ バインディング、アニメーションはコピーされませんが、それらの現在値はコピーされます。Resource references, data bindings, and animations are not copied, but their current values are copied.

CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable)

現在のプロパティ値を使用して、インスタンスを、指定した Freezable の変更可能な複製 (詳細コピー) にします。Makes the instance a modifiable clone (deep copy) of the specified Freezable using current property values.

CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。Coerces the value of the specified dependency property. これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Inherited from DependencyObject)
CreateInstance() CreateInstance() CreateInstance() CreateInstance()

Freezable クラスの新しいインスタンスを初期化します。Initializes a new instance of the Freezable class.

(Inherited from Freezable)
CreateInstanceCore() CreateInstanceCore() CreateInstanceCore() CreateInstanceCore()

Freezable 派生クラスの新しいインスタンスを作成します。Creates a new instance of the Freezable derived class.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Inherited from DependencyObject)
Freeze() Freeze() Freeze() Freeze()

現在のオブジェクトを変更不可能にし、その IsFrozen プロパティを true に設定します。Makes the current object unmodifiable and sets its IsFrozen property to true.

(Inherited from Freezable)
FreezeCore(Boolean) FreezeCore(Boolean) FreezeCore(Boolean) FreezeCore(Boolean)

Animatable オブジェクトを変更不可能な状態にするか、変更不可能な状態にできるかどうかを判断します。Makes this Animatable object unmodifiable or determines whether it can be made unmodifiable.

(Inherited from Animatable)
GetAnimationBaseValue(DependencyProperty) GetAnimationBaseValue(DependencyProperty) GetAnimationBaseValue(DependencyProperty) GetAnimationBaseValue(DependencyProperty)

指定した DependencyProperty のアニメーション化されていない値を返します。Returns the non-animated value of the specified DependencyProperty.

(Inherited from Animatable)
GetAsFrozen() GetAsFrozen() GetAsFrozen() GetAsFrozen()

基本プロパティ値 (アニメーション化されていない値) を使用して、Freezable の 固定されたコピーを作成します。Creates a frozen copy of the Freezable, using base (non-animated) property values. コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。Because the copy is frozen, any frozen sub-objects are copied by reference.

(Inherited from Freezable)
GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable)

基本プロパティ値 (アニメーション化されていない値) を使用して、インスタンスを、指定した Freezable の固定された複製にします。Makes the instance a frozen clone of the specified Freezable using base (non-animated) property values.

GetCurrentValueAsFrozen() GetCurrentValueAsFrozen() GetCurrentValueAsFrozen() GetCurrentValueAsFrozen()

現在のプロパティ値を使用して、Freezable の固定されたコピーを作成します。Creates a frozen copy of the Freezable using current property values. コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。Because the copy is frozen, any frozen sub-objects are copied by reference.

(Inherited from Freezable)
GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable)

現在のインスタンスを、指定した Freezable の固定された複製にします。Makes the current instance a frozen clone of the specified Freezable. オブジェクトに、アニメーション化された依存関係プロパティが存在する場合、現在アニメーション化されている値がコピーされます。If the object has animated dependency properties, their current animated values are copied.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

この DependencyObject のハッシュ コードを取得します。Gets a hash code for this DependencyObject.

(Inherited from DependencyObject)
GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator()

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Inherited from DependencyObject)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Inherited from DependencyObject)
InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効値を再評価します。Re-evaluates the effective value for the specified dependency property

(Inherited from DependencyObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
OnChanged() OnChanged() OnChanged() OnChanged()

現在の Freezable オブジェクトの変更時に呼び出されます。Called when the current Freezable object is modified.

(Inherited from Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject)

設定されたばかりの DependencyObjectType データ メンバーに対して、適切なコンテキスト ポインターが確立されていることを確認します。Ensures that appropriate context pointers are established for a DependencyObjectType data member that has just been set.

(Inherited from Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

このメンバーは、Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) インフラストラクチャをサポートしますが、独自に作成したコードから直接使用するためのものではありません。This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

(Inherited from Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs)

OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject 実装をオーバーライドして、さらに型 Freezable の変化する依存関係プロパティへの応答として任意の Changed ハンドラーも呼び出します。Overrides the DependencyObject implementation of OnPropertyChanged(DependencyPropertyChangedEventArgs) to also invoke any Changed handlers in response to a changing dependency property of type Freezable.

(Inherited from Freezable)
PixelShaderConstantCallback(Int32) PixelShaderConstantCallback(Int32) PixelShaderConstantCallback(Int32) PixelShaderConstantCallback(Int32)

依存関係プロパティの値をピクセル シェーダーの float 型定数レジスタに関連付けます。Associates a dependency property value with a pixel shader's float constant register.

PixelShaderSamplerCallback(Int32) PixelShaderSamplerCallback(Int32) PixelShaderSamplerCallback(Int32) PixelShaderSamplerCallback(Int32)

依存関係プロパティの値をピクセル シェーダーのサンプラー レジスタに関連付けます。Associates a dependency property value with a pixel shader's sampler register.

PixelShaderSamplerCallback(Int32, SamplingMode) PixelShaderSamplerCallback(Int32, SamplingMode) PixelShaderSamplerCallback(Int32, SamplingMode) PixelShaderSamplerCallback(Int32, SamplingMode)

依存関係プロパティの値をピクセル シェーダーのサンプラー レジスタおよび SamplingMode に関連付けます。Associates a dependency property value with a pixel shader's sampler register and a SamplingMode.

ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty)

ローカルの依存関係プロパティの値を返します (存在する場合)。Returns the local value of a dependency property, if it exists.

(Inherited from DependencyObject)
ReadPreamble() ReadPreamble() ReadPreamble() ReadPreamble()

Freezable が有効なスレッドからアクセスされていることを確認します。Ensures that the Freezable is being accessed from a valid thread. Freezable の継承側は、依存関係プロパティでないデータ メンバーを読み取る任意の APIAPI の開始時に、このメソッドを呼び出す必要があります。Inheritors of Freezable must call this method at the beginning of any APIAPI that reads data members that are not dependency properties.

(Inherited from Freezable)
RegisterPixelShaderSamplerProperty(String, Type, Int32) RegisterPixelShaderSamplerProperty(String, Type, Int32) RegisterPixelShaderSamplerProperty(String, Type, Int32) RegisterPixelShaderSamplerProperty(String, Type, Int32)

依存関係プロパティをシェーダー サンプラー レジスタに関連付けます。Associates a dependency property with a shader sampler register.

RegisterPixelShaderSamplerProperty(String, Type, Int32, SamplingMode) RegisterPixelShaderSamplerProperty(String, Type, Int32, SamplingMode) RegisterPixelShaderSamplerProperty(String, Type, Int32, SamplingMode) RegisterPixelShaderSamplerProperty(String, Type, Int32, SamplingMode)

依存関係プロパティをシェーダー サンプラ レジスタおよび SamplingMode に関連付けます。Associates a dependency property with a shader sampler register and a SamplingMode.

SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object)

依存関係プロパティ値のソースを変更せずにその値を設定します。Sets the value of a dependency property without changing its value source.

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object)

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。Sets the local value of a dependency property, specified by its dependency property identifier.

(Inherited from DependencyObject)
SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Inherited from DependencyObject)
ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Inherited from DependencyObject)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)
UpdateShaderValue(DependencyProperty) UpdateShaderValue(DependencyProperty) UpdateShaderValue(DependencyProperty) UpdateShaderValue(DependencyProperty)

指定した依存関係プロパティに対応するシェーダー定数またはシェーダー サンプラーの更新が必要な効果を通知します。Notifies the effect that the shader constant or sampler corresponding to the specified dependency property should be updated.

VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
WritePostscript() WritePostscript() WritePostscript() WritePostscript()

FreezableChanged イベントを発生させ、その OnChanged() メソッドを呼び出します。Raises the Changed event for the Freezable and invokes its OnChanged() method. Freezable から派生するクラスは、依存関係プロパティとして格納されていないクラス メンバーを変更するすべての API の終了時に、このメソッドを呼び出す必要があります。Classes that derive from Freezable should call this method at the end of any API that modifies class members that are not stored as dependency properties.

(Inherited from Freezable)
WritePreamble() WritePreamble() WritePreamble() WritePreamble()

Freezable が固定されておらず、有効なスレッド コンテキストからアクセスされていることを確認します。Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. Freezable の継承側は、依存関係プロパティでないデータ メンバーに書き込む任意の APIAPI の開始時に、このメソッドを呼び出す必要があります。Freezable inheritors should call this method at the beginning of any APIAPI that writes to data members that are not dependency properties.

(Inherited from Freezable)

イベント

Changed Changed Changed Changed

Freezable、またはこれに含まれているオブジェクトが変更されると発生します。Occurs when the Freezable or an object it contains is modified.

(Inherited from Freezable)

セキュリティ

UIPermission
UI のリソースへのフル アクセス。for full access to UI resources. 関連付けられた列挙体。 AllWindowsAssociated enumeration: AllWindows

適用対象

こちらもご覧ください