2013-07-02 94 views
1

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

谢谢

<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(成本)

回答

8

使用Run

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

或使用StringFormat

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

完美!谢谢 – Bohrend

0

我认为这是可以通过

它们之间
<StackPanel Orientation Horizontal> 
     <TextBlock Text="R(" /> 
     <TextBlock Text="{Binding cost}"/> 
     <TextBlock Text=")" /> 
    </StackPanel> 

距离可以通过设置的TextBlocks的填充设置来完成...