所以我有一个Textblock可以使用(Text =“ x”)绑定属性,但是有没有办法向其中添加更多文本?
这是XAML中的行
<TextBlock Name="UpdatedStock" FontSize="12" Text="{x:Bind Stock, Mode=TwoWay}" HorizontalAlignment="Left" />
,它仅显示Stock atm的数量,但我希望它说“ X in stock”。但是我无法在其中添加更多文本,是否有办法以某种方式将其添加到同一行上,或者我必须在其他地方进行添加?
亲切的问候
答案 0 :(得分:1)
绑定后是否可以在文本块中添加文本?
您有很多方法可以解决。通常,我们通常会添加带有静态文本 X 的新TextBlock,并将其放置在UpdatedStock
<RelativePanel>
<TextBlock
x:Name="UpdatedStock"
FontSize="12"
RelativePanel.AlignLeftWithPanel="True"
Text="{x:Bind Stock, Mode=OneWay}" />
<TextBlock Margin="2,0,0,0"
FontSize="12"
RelativePanel.RightOf="UpdatedStock"
Text="X" />
</RelativePanel>
另一种方法是使用IValueConverter
将 X 附加到Stock
的属性中。
public class StringConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
if (value == null)
return null;
return value.ToString()+ "X";
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
用法
<Page.Resources>
<local:StringConverter x:Key="StrConverter" />
</Page.Resources>
<Grid>
<TextBlock
x:Name="UpdatedStock"
FontSize="12"
RelativePanel.AlignLeftWithPanel="True"
Text="{x:Bind Stock, Mode=OneWay, Converter={StaticResource StrConverter}}" />
</Grid>