【问题标题】:UWP How to bind to two values?UWP如何绑定两个值?
【发布时间】:2017-01-24 00:06:36
【问题描述】:

我有一个DownloadModel,它包含两个属性。我想在一个 TextBlock 中显示这两个属性的摘要

<TextBlock Text="{x:Bind DownloadModel.Part1.Progress, Mode=OneWay}"/>

有什么方法可以同时传递Download.Part1.ProgressDownload.Part2.Progress,然后在TextBlock 中显示两者的摘要?

(如果可以使用 Binding 而不是 x:Bind 也可以) 谢谢。

【问题讨论】:

  • 通常这可以通过 MultiBinding 解决,但在 UWP 中似乎不存在
  • 在 MVVM 模式中,您将创建在模型和视图之间转换的 ViewModel。您的 ViewModel 将公开一个执行逻辑操作的公共属性 Progress,并且视图绑定到它。
  • TextBlock 可以拆分到Run里面的内容。使用两个Run 并绑定每个Text 属性。
  • @AVKNaidu 有正确的想法。如果您需要example

标签: c# xaml uwp windows-10


【解决方案1】:

您实际上可以在TextBlock 中使用Run。你可以这样使用它:

例如,我有这两个字符串:

    private string FirstText = "This is the first text.";
    private string SecondText = "This is the second text.";

我的 XAML 中有这个:

    <TextBlock Foreground="Black">
        <Run Text="{x:Bind FirstText}"/>
        <Run Text="{x:Bind SecondText}"/>
    </TextBlock>

这就是应用程序的外观:

希望对你有帮助!

【讨论】:

  • 好点!但我实际上认为,如果您需要显示值并且对此没有控制,只需创建 UserControl :)
猜你喜欢
  • 2019-12-25
  • 2013-03-22
  • 2011-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-04
  • 2020-02-05
  • 2017-02-08
相关资源
最近更新 更多