2013-08-19 4 views
0

표시해야하는 키/값 쌍 텍스트 데이터가 있습니다.키/값 쌍 표시

나는 현재의 내부에 두 개의 TextBlock에와 수평 StackPanel의를 사용하는 ItemTemplate을LongListSelector를 사용

<StackPanel Orientation="Horizontal"> 
    <TextBlock Text="Title: " /> 
    <TextBlock Text="{Binding Path=Title}" TextWrapping="Wrap" /> 
</StackPanel> 

이 좋은 "라벨 : 값"제공보세요.

그러나이 자세한 정보는 찾았습니다. 같은 결과를 얻으려면 더 좋은 방법이 있습니까?

I했습니다과 같이 하나의 TextBlock의 최선을 다하는 노력 :

<TextBlock Text="Title: {Binding Path=Title}" TextWrapping="Wrap" /> 

을하지만, 그것이 작동하지 않습니다!

답변

2

단일 TextBlock 내부에서는 불가능합니다.

public class NameValueConverter : IValueConverter 
{ 
    public object Convert(Object value, 
    Type targetType, 
    Object parameter, 
    CultureInfo culture) 
    { 
     return "Title: " + (string)value; 
    } 
} 

당신은 (NameValueConverter 이름) 글로벌 리소스로 app.xaml이를 추가해야하지만, 당신은 ValueConverter를 사용할 수 있습니다. 그럼 당신은 XAML에서이 작업을 수행 할 수 있습니다

<TextBlock Text="{Binding Path=Title, Converter={StaticResource NameValueConverter}}" TextWrapping="Wrap" /> 

에서 차기를 데이터 바인딩, 그것은 valueconverter에 제목을 전달하고 텍스트 상자에 결과를 결합합니다.

+0

레이블이 쌍 사이에서 변경됩니다. _NameValueConverter_에 매개 변수를 전달할 수있는 방법이 있습니까? – Howie

+0

바인딩에 매개 변수를 전달할 수 있지만 DependencyProperty가 아니기 때문에 DataBound가 될 수 없으므로 쌍에 따라 변경할 수 없습니다. – Kenneth