显示键/值对

时间:2013-08-19 07:16:22

标签: windows-phone-8

我需要显示一堆键/值对文本数据。

我目前使用 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" />

但它不想工作!

1 个答案:

答案 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并将结果绑定到文本框。