用绑定XAML连接字符串
是否可以在同一标签中包含一些静态文本和可绑定上下文用绑定XAML连接字符串,xaml,xamarin,binding,Xaml,Xamarin,Binding,是否可以在同一标签中包含一些静态文本和可绑定上下文 <Label Text = "${Binding totalCost}" x:Name = "totalCost" HorizontalOptions = "Start" VerticalOptions = "Start" Grid.Row = "6" Grid.Column = "1"/> 除此之外,它显示为“${Binding totalCost}” 我知道我可以通过
<Label Text = "${Binding totalCost}"
x:Name = "totalCost"
HorizontalOptions = "Start"
VerticalOptions = "Start"
Grid.Row = "6" Grid.Column = "1"/>
除此之外,它显示为“${Binding totalCost}”
我知道我可以通过执行类似于
totalCost.Text=String.Format(“${0}”,totalCost)的操作轻松设置字段代码>但我只是想看看是否有可能用另一种方式来实现看看这是否适用于您:
Text="{Binding totalCost, StringFormat='${0}'}"
尽管所选答案正确,但您将忽略货币值或潜在期间中的逗号。更好的方法是公开为绑定提供适当值的get属性。下面是将来任何人的代码片段
<Label Text = "${Binding TotalCostFormatted}"
x:Name = "totalCost"
HorizontalOptions = "Start"
VerticalOptions = "Start"
Grid.Row = "6" Grid.Column = "1"/>
请记住,您总是可以在ViewModel
中创建一个get
属性来公开一些数据。调用OnPropertyChanged
或调用实现INotifyPropertyChanged
接口的任何方法。如果您想要美元值上的美分,请将“C0”更改为“C”。我认为.NET实现您想要的功能的方法是将值字符串格式化为货币,它使用绑定属性StringFormat
,同时使用:
您的代码如下所示
<Label Text="{Binding totalCost, StringFormat=\{0:C\}}"
x:Name = "totalCost"
HorizontalOptions = "Start"
VerticalOptions = "Start"
Grid.Row = "6"
Grid.Column = "1"/>
干杯。对于标签,还有一个附加功能:ContentStringFormat,示例如下:
<Label Content="{Binding Tag, FallbackValue=Custom}" ContentStringFormat="Length: {0}" DataContext="{Binding ElementName=cbRebarLength, Path=SelectedItem}"/>
谢谢!事实上,这对我很有用。如果允许的话,我会在5分钟内接受你的回答。这太棒了。在WPF核心工作。
<Label Text="{Binding totalCost, StringFormat=\{0:C\}}"
x:Name = "totalCost"
HorizontalOptions = "Start"
VerticalOptions = "Start"
Grid.Row = "6"
Grid.Column = "1"/>
<Label Content="{Binding Tag, FallbackValue=Custom}" ContentStringFormat="Length: {0}" DataContext="{Binding ElementName=cbRebarLength, Path=SelectedItem}"/>