我想绑定(bind)一个TextBlock
的内容到包含多个数据绑定(bind) View 模型属性的格式化字符串。我也在尝试使用 MVVM 模式。
例如,我想将文本数据绑定(bind)到如下内容:String.Format("{0} / {1}", Usage, Total
, 其中 Usage
和 Total
是 View 模型属性。
我试过使用 Run
s,但绑定(bind)他们的Text
属性似乎不起作用,与 String.Format
相比,XAML 很困惑:
<TextBlock>
<Run Text="{Binding Usage}" />
<Run Text=" / " />
<Run Text="{Binding Total}" />
</TextBlock>
我考虑过添加一个额外的 View 模型属性来进行文本格式化,但它似乎不合适;我希望 View 包含表示逻辑。
我该怎么做?请注意,我喜欢可维护、整洁、优雅和有组织的解决方案。
最佳答案
我会按照您个人的建议在您的 ViewModel 上添加一个附加属性。您的 View 模型将始终与您的 View 紧密耦合,因此我也不认为这是一件坏事。
如果您真的不想,那么您可以在堆栈面板中使用多个文本框,其方向为水平方向。
关于xaml - 我应该如何在 Windows 应用商店应用程序中显示带有绑定(bind)数据的格式化文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15357437/