En los foros de MSDN se preguntaba que pasaba con el Binding cuando al inicializarse una ventana el DataContext es nulo y el ejemplo que ponía era el siguiente, tenía el siguiente estilo
<Style x:Key="SelfCollapsingTextBlock" TargetType="{x:Type TextBlock}"> <Style.Triggers> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Visibility" Value="Collapsed"/> </Trigger> </Style.Triggers> </Style>
El textBlock
<Border Name="border"> <TextBlock Style="{StaticResource SelfCollapsingTextBlock}" IsEnabled="{Binding IsFilterEnabled}" Text="(filtered)" /> </Border>
Según el, como el DataContext era nulo al inicializarse la ventana IsÉnabled debería estar a False y por consecuencia aplicando el estilo el TextBlock debería collapsarse y esto no ocurría.
La razón es simple si el DataContext es null , el Binding resetea la Dependency Property a su valor por defecto y en este caso el valor por defecto de IsEnabled es True con lo que no se podía colapsar el TextBlock
En los foros de MSDN se preguntaba que pasaba con el Binding cuando al inicializarse una ventana el DataContext