2009-12-17 3 views
5

Silverlight 페이지에 TextBlock이 있습니다.Silverlight TextBlock 바인딩이 적용되기 전에 가시성 속성 값이 적용됩니다.

XAML

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

</TextBlock> 

페이지 로딩은 약간의 시간이 소요됩니다. 바인딩이 적용되기 전에 TextBlock이 축소되기를 원하지만 Visibility 속성의 기본값은 Visible입니다.

바인딩을 적용하기 전에 TextBlock이 축소되도록 만드는 방법이 있습니까?

답변

0

InitalizeComponent()를 호출 한 후 페이지 생성자는 어떻습니까? 다음과 같은 내용 :

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

에 도입 된 주요 변경입니다

로 축소 FallbackValue =을 추가해야합니다, 바인딩이 작동하지 않는다면 새로운 값으로 지워질 것입니다. – terkri

8

해결책을 찾았습니다.

우리는 단지 바인딩 식 실버 라이트 4

XAML

우리가 그렇게 할 경우
<TextBlock Text="*" x:Name="HasPlayListChangesTextBlock" Foreground="Red" FontSize="14" 
           Visibility="{Binding Path=HasChanges, Converter={StaticResource BooleanToVisibilityConverter},FallbackValue=Collapsed}"> 

    </TextBlock> 
+0

이 변화는 어떤면에서 "파괴적인 변화"입니까? SL4에서 개선 된 점만이 변경 사항이 기존 코드를 어기는 방법을 알 수 없습니까? – AnthonyWJones

+0

이것은 내가 필요한 것입니다. 고맙습니다. 나는 AnthonyWJones에 동의하지만 이것은 "큰 변화"가 아닙니다. – dcstraw

관련 문제