2009-12-17 7 views
5

Tengo un TextBlock en la página de Silverlight.Silverlight TextBlock Valor inicial de la propiedad de visibilidad antes de aplicar el enlace

XAML

<TextBlock Text="*" x:Name="HasChangesTextBlock" Foreground="Red" FontSize="14" Visibility="{Binding Path=HasChanges, Converter={StaticResource BooleanToVisibilityConverter}}" 
          Margin="5,0,0,0"> 

</TextBlock> 

Cargando página tarda unos momentos. Y antes de aplicar el enlace, quiero que se contraiga TextBlock, pero el valor predeterminado de Visibility Property es Visible.

¿Hay alguna manera de hacer que el TextBlock se contraiga antes de aplicar el enlace?

Respuesta

0

¿Qué tal en el constructor de la página, después de haber llamado a InitalizeComponent()? Algo como esto:

public MyClass() 
{ 
    InitalizeComponent(); 
    HasChangesTextBlock.Visibility = Visiblility.Collapsed; 
} 
+0

si lo hacemos así, que el enlace no funcionará, porque será borrado por el nuevo valor. – terkri

8

Encontré la solución.

deberíamos añadir FallbackValue = colapsado a la expresión de enlace

Eso es un cambio importante que se introdujo en Silverlight 4.

XAML

<TextBlock Text="*" x:Name="HasPlayListChangesTextBlock" Foreground="Red" FontSize="14" 
           Visibility="{Binding Path=HasChanges, Converter={StaticResource BooleanToVisibilityConverter},FallbackValue=Collapsed}"> 

    </TextBlock> 
+0

¿De qué manera es este cambio un "cambio de ruptura"? Es solo una mejora en SL4. ¿No veo cómo este cambio rompe un código existente? – AnthonyWJones

+0

Esto es exactamente lo que necesitaba. Gracias. Estoy de acuerdo con AnthonyWJones en que esto no es un "cambio de ruptura". – dcstraw

Cuestiones relacionadas