如何在UWP中的DataTemplate内的按钮中连接作为绑定属性的内容的字符串?

时间:2016-05-07 10:42:15

标签: uwp-xaml

<DataTemplate x:Key="SectionsTemplate">
        <Grid Background="LightSkyBlue">
              <Button Content="{Binding ItemsCount}"></Button> 
        </Grid>
</DataTemplate>

我想在按钮内容中添加带有{Binding ItemsCount}的“Items”字符串。

1 个答案:

答案 0 :(得分:1)

你应该使用转换器:

在您的项目中添加新的转换器

public class PrependStringConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, string language)
    {
        return (string)parameter + " " + (string)value;
    }

    public object ConvertBack(object value, Type targetType, object parameter, string language)
    {
        // implement for two-way convertion
        throw new NotImplementedException();
    }        
}

在资源中添加对Converter的引用

<Page.Resources>
    <local:PrependStringConverter x:Key="PrependStringConverter" />
</Page.Resources>

在数据绑定中使用转换器

    <Button Content="{Binding ItemsCount,  ConverterParameter=Items, Converter={StaticResource PrependStringConverter}}">
    </Button>

还有另一种选择:使用StackPanel之类的分组元素将按钮的内容分成两部分:

    <Button >
        <StackPanel Orientation="Horizontal">
            <TextBlock>
                <Run Text="Items&#160;"/>
            </TextBlock>
            <TextBlock Text="{Binding ItemsCount}" />
        </StackPanel>
    </Button>