다음을 통해 공유


Binding.FallbackValue 속성

정의

바인딩에서 값을 반환할 수 없는 경우 사용할 값을 가져오거나 설정합니다.

public:
 property Platform::Object ^ FallbackValue { Platform::Object ^ get(); void set(Platform::Object ^ value); };
IInspectable FallbackValue();

void FallbackValue(IInspectable value);
public object FallbackValue { get; set; }
var object = binding.fallbackValue;
binding.fallbackValue = object;
Public Property FallbackValue As Object
<Binding FallbackValue="fallbackValue" />
- or -
<Binding>
  <Binding.FallbackValue>
    fallbackValue
    </Binding.FallbackValue>
</Binding>

속성 값

Object

Platform::Object

IInspectable

바인딩이 값을 반환할 수 없을 때 사용할 값입니다.

설명

일반적으로 UI에서 문자열을 표시하는 바인딩에 FallbackValue를 지정합니다. 이 경우 FallbackValue도 문자열입니다. 이 문자열을 더 쉽게 지역화할 수 있도록 리소스를 사용할 수 있습니다.

FallbackValue에 리터럴 문자열을 지정하는 경우 특성에 대한 {Binding} 태그 확장 사용이 이미 따옴표 안에 있으므로 문자열에 공백이 포함된 경우 {Binding} 태그 확장 사용량 내에서 FallbackValue 값에 대체 따옴표를 사용해야 합니다. 예: <object property="{Binding FallbackValue='A literal string'}" />.

{Binding} 태그 확장 사용 내에서 사용되는 경우 FallbackValue 값은 0을 문자열 바인딩의 문자열로 처리하거나 열거형 값을 변환하는 등 XAML에서 이미 사용할 수 있는 암시적 문자열 변환을 사용할 수 있습니다. 예를 들어 <object property="{Binding Path=Visibility, FallbackValue=Collapsed}" /> 파서는 문자열 "Collapsed"를 평가하고 Visibility.CollapsedVisibility 값의 대체로 반환할 수 있기 때문에 이 유효합니다.

TargetNullValue 는 유사한 시나리오를 가진 유사한 속성입니다. 차이점은 경로가 데이터 원본에서 전혀 평가 되지 않는 경우 또는 양방향 바인딩을 사용하여 원본에서 설정하려고 하면 데이터 바인딩 엔진에서 catch된 예외가 throw되는 경우 바인딩이 FallbackValue를 사용한다는 것입니다. 원본 값이 종속성 속성 sentinel 값 DependencyProperty.UnsetValue인 경우에도 FallbackValue가 사용됩니다. 경로원본이 평가되지만 값이 null인 경우 바인딩은 TargetNullValue를 사용합니다.

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

적용 대상

추가 정보