다음을 통해 공유


Binding.UpdateSourceTrigger 속성

정의

양방향 바인딩에 대한 바인딩 원본 업데이트의 타이밍을 결정하는 값을 가져오거나 설정합니다.

public:
 property UpdateSourceTrigger UpdateSourceTrigger { UpdateSourceTrigger get(); void set(UpdateSourceTrigger value); };
UpdateSourceTrigger UpdateSourceTrigger();

void UpdateSourceTrigger(UpdateSourceTrigger value);
public UpdateSourceTrigger UpdateSourceTrigger { get; set; }
var updateSourceTrigger = binding.updateSourceTrigger;
binding.updateSourceTrigger = updateSourceTrigger;
Public Property UpdateSourceTrigger As UpdateSourceTrigger
<Binding UpdateSourceTrigger="updateSourceTriggerMemberName"/>

속성 값

UpdateSourceTrigger 값 중 하나입니다. 기본값은 Default대부분의 종속성 속성에 대한 업데이트 동작으로 PropertyChanged 평가되지만 속성에 대해 TextBox.TextLostFocus 평가되는 입니다.

설명

대부분의 종속성 속성에 대한 기본 동작은 입니다 PropertyChanged. 그러나 TextBox.Text 속성의 기본 동작은 입니다 LostFocus. 에 바인딩TextBox.Text의 경우 다음과 같이 를 변경할 UpdateSourceTrigger 수 있습니다.

<TextBox Text="{x:Bind MyProperty, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />

그러나 NumberBox와 같은 다른 컨트롤의 컨트롤 템플릿에서 에 아무런 영향을 주지 TextBox 않습니다. 예를 들어 이 UpdateSourceTrigger 설정은 영향을 주지 않습니다.

<!-- This UpdateSourceTrigger setting has no effect. -->
<NumberBox Text="{x:Bind MyProperty, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>

UpdateSourceTrigger 동작에 대한 다른 선택은 값을 로 설정하는 것입니다Explicit. 양방향 바인딩에 UpdateSourceTrigger 값이 인 Explicit경우 관련 BindingExpression에서 UpdateSource를 명시적으로 호출하여 변경된 대상 값이 데이터 원본을 업데이트하도록 해야 합니다. FrameworkElement.GetBindingExpression을 사용하여 종속성 속성에 바인딩이 있고 바인딩이 를 사용하는 양방향 바인딩UpdateSourceTrigger="Explicit"인 개체에서 BindingExpression을 가져옵니다.

해당 바인딩이 대상 요소 및 대상 속성에 연결된 후에는 Binding 개체의 속성 값을 설정할 수 없습니다. 이 작업을 시도하면 런타임 예외가 발생합니다.

적용 대상

추가 정보