2017-09-21 16 views
0

트리거에 TextBlock.Text을 설정하려고합니다. setter에서 속성을 바인딩하면 모든 것이 잘 작동하지만 문자열과 속성을 "연결"하는 방법은 무엇입니까?
예를 들어 Date 속성이 있습니다. 나는 "The date is 9/21/2017"이라는 텍스트를 원합니다.
지금까지, 나는 "2017년 9월 21일"을 보여주기 위해 관리하지만 (나는 당신에게 단지 "흥미로운 부분을"선물) 전에 문자열을 CONCAT하는 방법을 알아낼 수 없습니다 :WPF : 트리거에서 문자열 리터럴 및 속성을 사용하는 다중 바인딩

<DataTrigger Binding="{Binding State}" Value="{x:Static model:Croissant+CroissantState.IsUsed}"> 
    <Setter Property="Text"> 
     <Setter.Value> 
      <MultiBinding StringFormat="{}{0:d}"> 
       <Binding Path="Date" /> 
      </MultiBinding> 
     </Setter.Value> 
    </Setter> 
</DataTrigger> 

하나를 문자열 리터럴을 바인딩하는 방법에 대한 조언? 이 변환기를 사용해야합니까, 아니면 "쉬운 방법"입니까? 라는 Ayyappan Subramanian에 코멘트를 읽을하지 않는 사람, 감사에 대한

+1

시도 텍스트 = "{MyProperty 바인딩,있는 StringFormat은 날짜가 = {0 : D}} " –

+0

거의! 제 경우에는''입니다. 감사! – benichka

답변

1

, 해결책은 다음과 같습니다

<DataTrigger Binding="{Binding State}" Value="{x:Static model:Croissant+CroissantState.IsUsed}"> 
    <Setter Property="Text"> 
     <Setter.Value> 
      <Binding Path="Date" StringFormat="The date is {0:d}" /> 
     </Setter.Value> 
    </Setter> 
</DataTrigger>