如何将字符串与 UWP 中 DataTemplate 内的按钮中绑定 属性 的内容连接起来?
How do I concat string with the content which is a binding property in button which is inside DataTemplate in UWP?
<DataTemplate x:Key="SectionsTemplate">
<Grid Background="LightSkyBlue">
<Button Content="{Binding ItemsCount}"></Button>
</Grid>
</DataTemplate>
我想在按钮的内容中添加带有 {Binding ItemsCount} 的 "Items" 字符串。
您应该为此使用转换器:
将新的转换器添加到您的项目中
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();
}
}
在资源中添加对转换器的引用
<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 "/>
</TextBlock>
<TextBlock Text="{Binding ItemsCount}" />
</StackPanel>
</Button>
<DataTemplate x:Key="SectionsTemplate">
<Grid Background="LightSkyBlue">
<Button Content="{Binding ItemsCount}"></Button>
</Grid>
</DataTemplate>
我想在按钮的内容中添加带有 {Binding ItemsCount} 的 "Items" 字符串。
您应该为此使用转换器:
将新的转换器添加到您的项目中
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();
}
}
在资源中添加对转换器的引用
<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 "/>
</TextBlock>
<TextBlock Text="{Binding ItemsCount}" />
</StackPanel>
</Button>