2009-11-11 4 views
18

Ce bloc de texte, défini ci-dessous, montre quand la fenêtre se charge d'abord parce qu'elle n'a pas de Datacontext (et donc le code du convertisseur n'est pas exécuté) jusqu'à ce qu'un élément ait été sélectionné à partir d'un autre contrôle, par exemple. TreeView.WPF - Comment puis-je par défaut la visibilité d'un bloc de texte de base de données?

<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> 

Alors, comment puis-je empêcher l'apparition de ce fichier lorsqu'il n'a pas DataContext?

Merci.

Répondre

43

Pour fournir une valeur par défaut (lorsque utilisé la cible d'une liaison ne peut être trouvé) que vous utilisez le FallbackValue, par exemple:

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

Cela devrait être le cas lorsqu'il n'y a pas DataContext.

+1

Merci GraemeF. Bien que je vais juste souligner que le juste le nom du membre doit être spécifié, c'est-à-dire Visibilité = "{Chemin de liaison = IsDownloaded, FallbackValue = Réduit}" – empo

+0

Oups! Merci d'avoir fait remarquer cela. Fixé. – GraemeF

+2

Cela m'a juste sauvé beaucoup de temps et d'énergie MERCI! – Jimmy

Questions connexes