在WPF中,我可以这样做:
<TextBlock Text="{Binding Products.Count, StringFormat='{0} Products'}"
Windows 8 / WinRT中的等价物是什么,因为不再支持此语法?
答案 0 :(得分:8)
您可以使用:
<TextBlock>
<Run Text="{Binding Path=Products.Count}" />
<Run Text=" Products" />
</TextBlock>
答案 1 :(得分:3)
根据MSDN上的文档,此功能(例如Binding class上的StringFormat
)在WinRT中不存在。
ViewModel上的格式设置
public class MyViewModel
{
public IList<Product> Products { get; set; }
public string ProductsText
{
get
{
return string.Format("{0} Products", Products.Count);
}
}
}
请注意,您可以挂钩以跟踪Products
集合中的更改,并通知ProductsText
已更改的属性。
并绑定到格式化的属性:
<TextBlock Text="{Binding ProductsText}" />