Joh*_*ohn 10 xaml binding xamarin
是否可以在同一标签中包含一些静态文本和可绑定上下文?
<Label Text = "${Binding totalCost}"
x:Name = "totalCost"
HorizontalOptions = "Start"
VerticalOptions = "Start"
Grid.Row = "6" Grid.Column = "1"/>
Run Code Online (Sandbox Code Playgroud)
除此之外显示为"$ {Binding totalCost}"
我知道我可以通过做类似的事情轻松地设置场地,totalCost.Text = String.Format("${0}", totalCost);但只是想看看是否可能反过来
15e*_*153 30
看看这是否适合您:
Text="{Binding totalCost, StringFormat='${0}'}"
Run Code Online (Sandbox Code Playgroud)
不同XAMLS可能会有所不同,但我希望StringFormat在Binding工作只有在绑定的目标属性的类型的String.例如,在WPF中,它适用于TextBlock.Text但不适用于Label.Content类型Object.出于这个原因,它经常会无声地失败,如果你不熟悉那个小小的诱杀陷阱,这可能会非常烦人.
另一个方便的事情要知道:ContentControl它的许多后代(Label等)都有一个ContentStringFormat强制Content转换为字符串并对其进行格式化的属性.HeaderedItemsControl(基础类的MenuItem,等)和HeaderedContentControl(基类GroupBox等)分别具有一个HeaderStringFormat属性,其做同样为各自的Header属性.
小智 10
对于标签,还有附加功能:ContentStringFormat,示例如下:
<Label Content="{Binding Tag, FallbackValue=Custom}" ContentStringFormat="Length: {0}" DataContext="{Binding ElementName=cbRebarLength, Path=SelectedItem}"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15987 次 |
| 最近记录: |