この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

DependencyPropertyChangedEventArgs 構造体

 

公開日: 2016年11月

さまざまなプロパティ変更イベントにデータを提供します。 通常、これらのイベントは、読み取り専用の依存関係プロパティの有効値の変更を報告します。 もう 1 つの用途は、PropertyChangedCallback 実装の一部として使用することです。

名前空間:   System.Windows
アセンブリ:  WindowsBase (WindowsBase.dll 内)

public struct DependencyPropertyChangedEventArgs

名前説明
System_CAPS_pubmethodDependencyPropertyChangedEventArgs(DependencyProperty, Object, Object)

DependencyPropertyChangedEventArgs クラスの新しいインスタンスを初期化します。

名前説明
System_CAPS_pubpropertyNewValue

変更後、プロパティの値を取得します。

System_CAPS_pubpropertyOldValue

変更前に、のプロパティの値を取得します。

System_CAPS_pubpropertyProperty

値の変更が発生した依存関係プロパティの識別子を取得します。

名前説明
System_CAPS_pubmethodEquals(DependencyPropertyChangedEventArgs)

決定するかどうか、指定した DependencyPropertyChangedEventArgs は現在と同じ DependencyPropertyChangedEventArgsします。

System_CAPS_pubmethodEquals(Object)

指定されたオブジェクトが現在と同じかどうかを判断 DependencyPropertyChangedEventArgsします。(ValueType.Equals(Object) をオーバーライドします。)

System_CAPS_pubmethodGetHashCode()

この DependencyPropertyChangedEventArgs のハッシュ コードを取得します。(ValueType.GetHashCode() をオーバーライドします。)

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されます。)

System_CAPS_pubmethodToString()

このインスタンスの完全修飾型名を返します。(ValueType から継承されます。)

名前説明
System_CAPS_puboperatorSystem_CAPS_staticEquality(DependencyPropertyChangedEventArgs, DependencyPropertyChangedEventArgs)

指定した 2 つの DependencyPropertyChangedEventArgs オブジェクトの値が同一かどうかを判断します。

System_CAPS_puboperatorSystem_CAPS_staticInequality(DependencyPropertyChangedEventArgs, DependencyPropertyChangedEventArgs)

指定した 2 つあるかどうかを判断 DependencyPropertyChangedEventArgs オブジェクトが異なる。

The events that use the T:System.Windows.DependencyPropertyChangedEventArgs class for event data, and the T:System.Windows.DependencyPropertyChangedEventHandler method implementations for handlers, generally follow the naming pattern Is*Changed, and are generally implemented as TLA#tla_clr events without T:System.Windows.RoutedEvent backing (they are not routed events). Some class handling methods that "handle" otherwise unexposed events that report a state change through a property change, such as M:System.Windows.Controls.Primitives.ButtonBase.OnIsPressedChanged(System.Windows.DependencyPropertyChangedEventArgs), also use the T:System.Windows.DependencyPropertyChangedEventArgs class for event data.

The scenario for T:System.Windows.PropertyChangedCallback is to use the arguments to report old and new values that come from the property system evaluation of the property. A callback that processes old and new values might choose special handling depending on these values, such as choosing to not respond to value changes that are deemed insignificant.

The following example uses the T:System.Windows.DependencyPropertyChangedEventArgs class in the context of a T:System.Windows.PropertyChangedCallback for a particular property of a custom class that also defines events. The callback takes the results of old and new values from the property system as communicated by T:System.Windows.DependencyPropertyChangedEventArgs, and repackages these into a different events arguments class T:System.Windows.RoutedPropertyChangedEventArgs`1. The new arguments are then used as the data for a "ValueChanged" event defined by and raised by the custom class.

public static readonly DependencyProperty ValueProperty =
    DependencyProperty.Register(
        "Value", typeof(decimal), typeof(NumericUpDown),
        new FrameworkPropertyMetadata(MinValue, new PropertyChangedCallback(OnValueChanged),
                                      new CoerceValueCallback(CoerceValue)));

private static object CoerceValue(DependencyObject element, object value)
{
    decimal newValue = (decimal)value;

    newValue = Math.Max(MinValue, Math.Min(MaxValue, newValue));

    return newValue;
}

private static void OnValueChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
{
    NumericUpDown control = (NumericUpDown)obj;

    RoutedPropertyChangedEventArgs<decimal> e = new RoutedPropertyChangedEventArgs<decimal>(
        (decimal)args.OldValue, (decimal)args.NewValue, ValueChangedEvent);
    control.OnValueChanged(e);
}
/// <summary>
/// Identifies the ValueChanged routed event.
/// </summary>
public static readonly RoutedEvent ValueChangedEvent = EventManager.RegisterRoutedEvent(
    "ValueChanged", RoutingStrategy.Bubble,
    typeof(RoutedPropertyChangedEventHandler<decimal>), typeof(NumericUpDown));

/// <summary>
/// Occurs when the Value property changes.
/// </summary>
public event RoutedPropertyChangedEventHandler<decimal> ValueChanged
{
    add { AddHandler(ValueChangedEvent, value); }
    remove { RemoveHandler(ValueChangedEvent, value); }
}
/// <summary>
/// Raises the ValueChanged event.
/// </summary>
/// <param name="args">Arguments associated with the ValueChanged event.</param>
protected virtual void OnValueChanged(RoutedPropertyChangedEventArgs<decimal> args)
{
    RaiseEvent(args);
}

.NET Framework
3.0 以降で使用可能
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能

この型のパブリック static (Visual Basic では Shared ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

トップに戻る
表示: