Windows Phone 8 xaml文本块绑定格式

时间:2013-07-02 10:46:10

标签: xaml windows-phone-8 datatemplate

我想格式化一个绑定到某个值的文本块,在实际值之前显示“R”,这是可能的,因为我不能直接更改该值吗?

谢谢

<ListBox x:Name="lstbundleListbox"
         Foreground="White"
         Height="320"
         HorizontalAlignment="Center">
  <ListBox.ItemContainerStyle>
    <Style TargetType="ListBoxItem">
      <Setter Property="HorizontalContentAlignment"
              Value="Center" />
    </Style>
  </ListBox.ItemContainerStyle>
  <ListBox.ItemTemplate>
    <DataTemplate>
      <StackPanel>
        <TextBlock Text="{Binding name}"
                   TextWrapping="Wrap"
                   HorizontalAlignment="Center" />

        <TextBlock Text="{Binding cost}"
                   TextWrapping="Wrap"
                   HorizontalAlignment="Center" />
      </StackPanel>
    </DataTemplate>
  </ListBox.ItemTemplate>
  <ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
      <StackPanel Orientation="Vertical" />
    </ItemsPanelTemplate>
  </ItemsControl.ItemsPanel>
</ListBox>

所以我基本上希望文本块显示R(成本)

2 个答案:

答案 0 :(得分:8)

使用Run

<TextBlock>
    <Run Text="R" />
    <Run Text="{Binding cost}" />
</TextBlock>

或使用StringFormat

<TextBlock Text="{Binding cost, StringFormat=R{0}}" />

答案 1 :(得分:0)

我认为这可以通过

来完成
  <StackPanel Orientation Horizontal>
       <TextBlock Text="R(" />
       <TextBlock Text="{Binding cost}"/>
       <TextBlock Text=")" />
   </StackPanel>

它们之间的距离可以通过设置文本块的填充来设置......