Xamarin 将字符串添加到 mvvm 中的条目

Posted

技术标签:

【中文标题】Xamarin 将字符串添加到 mvvm 中的条目【英文标题】:Xamarin adding string to entry in mvvm 【发布时间】:2021-10-16 22:16:14 【问题描述】:

我有一个条目,我希望用户输入数字并且最后总会有一个“%”。我不希望条目旁边有额外的标签。到目前为止,我尝试格式化条目并将 % 添加到值中,但结果是在每个数字之后都添加了符号。我失败的尝试:

Xaml 中的第一次解决方案尝试:

<Entry Text="Binding Test, StringFormat='0:F0%'"/>

View-Model 中的第二次解决方案尝试:

string _test;
public string Test
        
            get => _test;
            set
            
                value += "%";
                SetProperty(ref _test, value);
            
        

在这两种情况下,如果用户的输入为 56,则条目显示为 5%6%。我明白为什么会这样,但我想不出解决办法。有什么想法吗?

【问题讨论】:

【参考方案1】:

检查值是否有% 字符

string _test;
public string Test

   get => _test;
   set
   
      if(value.Contains("%"))
         value = value.Replace("%","");
      value += "%";
      SetProperty(ref _test, value);
   

【讨论】:

感谢您的评论,现在当输入为 56 时,条目显示为 5%6,如果 if 为 false,有没有办法在倒数第二个索引中添加值?

以上是关于Xamarin 将字符串添加到 mvvm 中的条目的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin 条目绑定到 MVVM

使用 MVVM 帮助器的视图模型中的 Xamarin 事件处理程序

如何将条目参数传递给 Xamarin MVVM 视图模型

在 MVVM 中向 Xamarin.Maps 添加多个 Pin 图

将 Picker ItemSource 绑定到 List<string> 不起作用 Xamarin.forms MVVM

达到条目最大长度时的 Xamarin DisplayAlert