2011-05-03 5 views
6

안녕하세요 여러분, 왜 이것이 "VALUE IS DEFAULT"를 렌더링하지 않는지 설명 할 수 있습니까?WPF StringFormat을 사용하여 바인딩

<TextBlock Text="{Binding Fail, StringFormat=VALUE IS {0}, FallbackValue=DEFAULT}" /> 

이 구문에 대해 까다로운 내용이 있습니다. 미리 감사드립니다.

답변

6

.

당신은 레온 제안 무엇을 사용하거나 PriorityBinding으로 갈 수 있습니다.

--EDIT--

이 작동합니다 :

<TextBlock DataContext="{Binding Fail, FallbackValue=DEFAULT}" Text="{Binding StringFormat=VALUE IS {0}}" /> 
0

우선 순위 바인딩에 기본 폴백 값이 사용됩니다. 폴백 값에 "VALUE IS DEFAULT"를 표시하려면 다음을 시도하십시오. 이 실패 할 경우 FallbackValue다시 하락하면서 있는 StringFormat을 고려하지 않는 WPF에서 바인딩

<TextBlock Text="{Binding Fail, StringFormat=VALUE IS {0}, FallbackValue='VALUE IS DEFAULT'}" /> 
+0

FallbackBinding이 사용되는 경우 StringFormat은 아닌가? –

+0

예, FallbackValue가 무시 될 때 StringFormat이 무시된다는 것을 확인했습니다. –

1

을 나는 그것이 또한 TextBlock의 내부 실행을 사용하여 작업 할 수 있다고 생각 :

 <TextBlock> 
      <Run Text="Value is : "/> 
      <Run Text="{Binding Fail,FallbackValue=Default}"/> 
    </TextBlock> 

?

관련 문제