2015-10-29 21 views
5

Mój model widoku udostępnia listę o nazwie MyList, która może być pusta lub null. Mam element, który chciałabym ukryć w oparciu o ten stan. Jeśli MyList jest pusty lub null, element powinien zostać zwinięty. Jeśli ma elementy, to powinno być pokazane.W WPF, czy wartość FallbackValue jest używana, gdy powiązanie nie powiedzie się z powodu zerowych odniesień?

Oto moja DataTrigger:

<DataTrigger Binding="{Binding MyList.Count, FallbackValue=0}" Value="0"> 
    <Setter Property="Visibility" Value="Collapsed"></Setter> 
</DataTrigger> 
  • Co się dzieje z tym DataTrigger gdy MyList jest null?
  • Czy będzie używać FallbackValue, czy może się nie powieść?
  • Czy to gdzieś dokumentuje?

Odpowiedz

6

Wartość FallbackValue jest używana, jeśli ścieżka źródłowa wiązania nie zostanie rozstrzygnięta, jeśli konwerter ulegnie awarii lub jeśli wartość nie jest poprawna dla typu właściwości.

Nie zostanie użyty, jeśli zwrócona zostanie wartość null, chyba że wartość null jest niepoprawna dla typu właściwości. W takim przypadku funkcja DataTrigger nie zostanie uruchomiona. Możesz użyć TargetNullValue dla tego przypadku.

<DataTrigger Binding="{Binding MyList.Count, FallbackValue=0, TargetNullValue=0}" Value="0"> 
    <Setter Property="Visibility" Value="Collapsed"></Setter> 
</DataTrigger> 
Powiązane problemy