【问题标题】:How do I add a + sign if the number is over a certain number [closed]如果数字超过某个数字,如何添加 + 号 [关闭]
【发布时间】:2019-12-23 03:29:49
【问题描述】:

所以我有这个TextBlock,它的Text 属性绑定到集合的计数属性。

现在这个集合越来越大,我希望它在达到 1000 及以上时说 999+,而不是上升,但我不知道该怎么做。

这是我的TextBlock

<TextBlock Margin="140,0,0,0" 
          VerticalAlignment="Center"
          Text="{Binding MyCollection.Count}"
          FontWeight="Medium"
          Foreground="#5E5F64"
          FontSize="12"/>

【问题讨论】:

  • 您可以创建一个属性来格式化 Count 并绑定到它。
  • 或者创建一个触发器和/或转换器?
  • 最好和理想的解决方案就是创建另一个string类型的属性;无论如何,文本绑定都需要一条路径;你不能做逻辑表达式。然后,当计数发生变化时,您实际上可以更新新属性以包含 + 或不包含;您可以将此新属性绑定到 Text 字段。
  • @Çöđěxěŕ - 或者,只需绑定到只读的string 属性,该属性会根据计数返回格式化字符串。
  • 是的,无论哪种方式都是一个new属性,是的,可以只读,返回格式...

标签: c# .net wpf mvvm


【解决方案1】:

正如 Çöđěxěŕ 所说,您应该只传入一个字符串。

WPF

<TextBlock Margin="140,0,0,0" 
      VerticalAlignment="Center"
      Text="{Binding CollectionCount}"
      FontWeight="Medium"
      Foreground="#5E5F64"
      FontSize="12"/>

C#

public string CollectionCount
{
    get
    {
        if (MyCollection.Count <= 999)
            return MyCollection.Count.ToString();
        return "999+";
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    相关资源
    最近更新 更多