하나의 텍스트 블록에 두 개의 필드로 된 데이터를 표시해야하는 Windows Phone 7 용 응용 프로그램을 작성 중이므로 쉼표로 구분해야합니다. 다음 xaml 코드를 사용하여 시도 :두 개의 데이터를 텍스트 상자에 바인딩
<TextBlock Text="{Binding Path=city_name}"> "{Binding Path = state}"
Foreground="Black"></TextBlock>
작동하지 않았습니다. 이
하나의 텍스트 블록에 두 개의 필드로 된 데이터를 표시해야하는 Windows Phone 7 용 응용 프로그램을 작성 중이므로 쉼표로 구분해야합니다. 다음 xaml 코드를 사용하여 시도 :두 개의 데이터를 텍스트 상자에 바인딩
<TextBlock Text="{Binding Path=city_name}"> "{Binding Path = state}"
Foreground="Black"></TextBlock>
작동하지 않았습니다. 이
편집을 달성하기 위해 도와주세요 :
불행하게도 WP7이 MultiBinding
를 지원하지 않습니다.
ValueConverter
과 유사한 기능을 사용할 수 있습니다. 어쨌든, 훨씬 쉬운 방법은 사용하는 것입니다 몇 가지 TextBlocks
:
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding city_name}" />
<TextBlock Text=", " />
<TextBlock Text="{Binding state}" />
</StackPanel>
올드 (잘못) 답 :
당신은
MultiBinding
이 할 수있는
StringFormat
수 있습니다 :
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}, {1}">
<Binding Path="city_name" />
<Binding Path="state" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
을
두 개체를 처리하고 공개하는 클래스를 만들 수 있습니다 두 속성을 모두 반환하는 속성 컨트롤을 해당 속성에 바인딩 할 수 있습니다.
가장 좋은 방법은 TextBlock 내부에서 Run 요소를 사용하는 것입니다. 다음을 참조하십시오 : http://visualstudiomagazine.com/articles/2008/05/12/silverlight-xaml-primer-15-enhancing-textblock-with-runs-and-linebreaks.aspx
오류가 발생합니다 : \t 'MultiBinding'유형을 찾을 수 없습니다. 어셈블리 참조가 누락되지 않았는지, 참조 된 모든 어셈블리가 빌드되었는지 확인하십시오. – bhaku
죄송합니다. WP7이 멀티 바인딩을 지원하지 않는 것 같습니다. 나는 곧 대답을 바꿀 것이다. – MatthiasG