我需要显示一堆键/值对文本数据。
我目前使用 LongListSelector 和 ItemTemplate ,它使用水平 StackPanel ,其中包含两个 TextBlock :< / p>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Title: " />
<TextBlock Text="{Binding Path=Title}" TextWrapping="Wrap" />
</StackPanel>
这给了一个很好的&#34;标签:值&#34;看。
然而,我觉得这很冗长。 有没有更好的方法来实现同样的目标?
我尝试将所有内容放在一个TextBlock中,如下所示:
<TextBlock Text="Title: {Binding Path=Title}" TextWrapping="Wrap" />
但它不想工作!
答案 0 :(得分:2)
在单个TextBlock中,这是不可能的。但是,您可以使用ValueConverter:
public class NameValueConverter : IValueConverter
{
public object Convert(Object value,
Type targetType,
Object parameter,
CultureInfo culture)
{
return "Title: " + (string)value;
}
}
您应该将此作为全局资源(名为NameValueConverter
)添加到app.xaml中。然后你可以在XAML中执行此操作:
<TextBlock Text="{Binding Path=Title, Converter={StaticResource NameValueConverter}}" TextWrapping="Wrap" />
当数据绑定启动时,它会将Title传递给valueconverter并将结果绑定到文本框。