2009-11-11 16 views
18

Questo blocco di testo, definito di seguito, mostra quando la finestra viene caricata prima perché non ha Datacontext (e quindi il codice del convertitore non viene eseguito) finché non viene selezionato un elemento da un altro controllo, ad es. Visualizzazione ad albero.WPF - Come si imposta la Visibilità di un blocco di testo del database predefinito?

<TextBlock 
    Name="tbkDocumentNotFound" 
    Style="{StaticResource StandardText}" 
    Margin="4,4,2,0" 
    TextWrapping="Wrap"          
    Visibility="{Binding Path=IsDownloaded, Converter={StaticResource docNotFoundVisibilityConverter}, Mode=TwoWay}" 
    Text="The document could not be found."> 
</TextBlock> 

Così come faccio a impedire che venga visualizzato quando non ha DataContext?

Grazie.

risposta

43

per fornire un valore di default (utilizzato quando il bersaglio di una rilegatura non può essere trovato) si utilizza il FallbackValue, ad esempio:

Visibility="{Binding Path=IsDownloaded, FallbackValue=Collapsed}" 

Questo dovrebbe essere il caso in cui non v'è alcuna DataContext.

+1

Grazie GraemeF. Anche se mi limiterò a indicare che è necessario specificare solo il nome del membro, Visibility = "{Binding Path = IsDownloaded, FallbackValue = Collapsed}" – empo

+0

Oops! Grazie per la segnalazione. Fisso. – GraemeF

+2

Questo mi ha fatto risparmiare un sacco di tempo ed energie GRAZIE! – Jimmy