내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

DependencyPropertyChangedEventArgs 구조체

다양 한 속성 변경 이벤트에 대 한 데이터를 제공합니다. 일반적으로 이러한 이벤트는 읽기 전용 종속성 속성의 값에 유효한 값 변경 내용을 보고합니다. 으로 사용 되는 PropertyChangedCallback 구현 합니다.

네임스페이스:  System.Windows
어셈블리:  WindowsBase(WindowsBase.dll)

public struct DependencyPropertyChangedEventArgs

DependencyPropertyChangedEventArgs 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드DependencyPropertyChangedEventArgs새 인스턴스 초기화를 DependencyPropertyChangedEventArgs 클래스입니다.
위쪽

  이름설명
Public 속성NewValue변경 된 후 속성의 값을 가져옵니다.
Public 속성OldValue변경 전의 속성 값을 가져옵니다.
Public 속성Property값 변경에 대 한 종속성 속성의 식별자를 가져옵니다.
위쪽

  이름설명
Public 메서드Equals(DependencyPropertyChangedEventArgs)결정 여부를 제공 된 DependencyPropertyChangedEventArgs 현재에 해당 하는 DependencyPropertyChangedEventArgs.
Public 메서드Equals(Object)현재 제공 된 개체와 같은지 여부를 결정 합니다. DependencyPropertyChangedEventArgs. (ValueType.Equals(Object)을(를) 재정의함)
Public 메서드GetHashCode가져옵니다는 해시 코드 이 DependencyPropertyChangedEventArgs. (ValueType.GetHashCode()을(를) 재정의함)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드ToString이 인스턴스의 정규화된 형식 이름을 반환합니다. (ValueType에서 상속됨)
위쪽

  이름설명
Public 연산자정적 멤버Equality2 지정 여부 결정 DependencyPropertyChangedEventArgs 개체에 같은 값이 있습니다.
Public 연산자정적 멤버Inequality2 지정 여부 결정 DependencyPropertyChangedEventArgs 개체는 다릅니다.
위쪽

사용 하는 이벤트는 DependencyPropertyChangedEventArgs 이벤트 데이터에 대 한 클래스 및 DependencyPropertyChangedEventHandler 메서드 구현에 대 한 처리기를 명명 패턴에 따라 일반적으로 Is*Changed, 일반적으로 구현 되 고 CLR(공용 언어 런타임) 이벤트와 관계 없이 RoutedEvent 백업 (그렇지 않은 라우트된 이벤트). "그렇지 않으면 처리 unexposed" 상태를 보고 하는 이벤트의 속성 변경을 통해 변경 하는 방법으로 처리 하는 일부 클래스 ButtonBase.OnIsPressedChanged, 또한 사용 하는 DependencyPropertyChangedEventArgs 이벤트 데이터에 대 한 클래스.

시나리오에 대 한 PropertyChangedCallback 속성의 속성 시스템 평가에서 제공 하는 보고서 이전 및 새 값에 대 한 인수를 사용 하는 것입니다. 이전 값과 새 값을 처리 하는 콜백을 의미 없는 것으로 간주 됩니다 값 변경에 응답 하지 않도록 선택 하는 등 이러한 값에 따라 특수 한 처리를 선택할 수 있습니다.

다음 예제를 사용 하는 DependencyPropertyChangedEventArgs 클래스에에서는 PropertyChangedCallback 이벤트를 정의 하는 사용자 지정 클래스의 특정 속성에 대 한. 여 통신으로 콜백 결과 기존 및 새 값은 속성 시스템에서 가져온 DependencyPropertyChangedEventArgs, 및 다른 이벤트 인수 클래스에 이러한 repackages RoutedPropertyChangedEventArgs<T>. 새로 인수 한 정의 및 사용자 지정 클래스에 의해 발생 하는 "ValueChanged" 이벤트의 데이터로 사용 됩니다.


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

4.5, 4, 3.5, 3.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework 에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 다음을 참조하십시오. .NET Framework 시스템 요구 사항.

이 형식의 static(Visual Basic의 경우 Shared) 모든 공용 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2015 Microsoft