다음을 통해 공유


Binding.TargetNullValue 속성

정의

원본 값이 null일 때 대상에 사용되는 값을 가져오거나 설정합니다.

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

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

속성 값

Object

Platform::Object

IInspectable

원본 값이 null일 때 바인딩 대상에 사용되는 값입니다.

설명

TargetNullValue는 컬렉션을 바인딩하는 바인딩에 사용할 수 있으며 원본 데이터는 일부 항목에서만 누락된 정보에 null 을 사용합니다. 또한 Null 값을 원본 정보로 사용하여 사용자로부터 더 많은 정보가 필요하고 원본에서 완료되지 않은 레코드와 같은 항목을 나타내는 데이터베이스에서 데이터가 들어오는 일반적인 경우에 사용할 수도 있습니다.

바인딩에서 TargetNullValue 동작을 사용하는 데 권장되는 두 가지 패턴이 있습니다.

  • 바인딩 소스는 원본의 특정 데이터 항목에서 오는 null 값을 대체할 수 있는 단일 값으로 작동하는 다른 경로에서 액세스하는 별도의 값을 제공합니다. 예를 들면 다음과 같습니다.
<Button Content="{Binding Path=NextItem, Mode=OneWay, TargetNullValue={Binding Path=NullValue}}"/>

여기서 는 NullValue 대체 값의 경로이며 다른 바인딩에서 참조됩니다.

  • 리소스를 사용하여 데이터 원본이 null 을 제공하고 대체 값으로 사용할 다른 경로에 적합한 속성이 없는 경우 앱과 관련된 값을 제공합니다. 예를 들면 다음과 같습니다.
<Button Content="{Binding Path=NextItem, Mode=OneWay, TargetNullValue={StaticResource AppStringForNullInAStringABinding}}"/>

AppStringForNullInAStringABinding 여기서는 사용자가 대부분의 데이터에 데이터가 있어야 하지만 이 특정 항목에 원본의 데이터가 없음을 알 수 있는 "(값을 사용할 수 없음)"과 같은 리소스 문자열입니다. 값을 지역화할 수 있도록 리소스를 사용합니다.

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

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

적용 대상

추가 정보