23

以下で定義されるこの Textblock は、項目が別のコントロール (TreeView など) から選択されるまで、Datacontext がないため (したがって、コンバーター コードは実行されない)、ウィンドウが最初に読み込まれたときを示します。

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

では、DataContext がないときに表示されないようにするにはどうすればよいでしょうか。

ありがとう。

4

1 に答える 1

54

デフォルト値 (Binding のターゲットが見つからない場合に使用) を指定するには、次のように を使用しますFallbackValue

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

これは、DataContext がない場合に当てはまります。

于 2009-11-11T13:38:59.057 に答える