【发布时间】:2016-01-28 04:31:08
【问题描述】:
我有一个视图,有两个基本字段,分别命名为 ID 和 Name,这些字段的 TextProperty 绑定到我的 ViewModel,使用 StudentID.SetBinding(Entry.TextProperty, new Binding("StudentID"));
学生 ID 是 int。在视图中,我为这些字段制作了占位符。但是,int 字段默认设置为 0。因此,当页面加载时,int 字段的占位符始终为 0。
如何绑定int字段的PlaceholderProperty?我正在使用 MVVMCross 和 Xamarin.Forms。
注意:我在视图定义中使用的是 C# 而不是 XAML 代码。
【问题讨论】:
-
没有
Entry.PlaceholderProperty属性吗? -
是的,有一个,但我不确定我所做的是否正确,查看:StudentID.SetBinding(Entry.PlaceholderProperty, new Binding("StudentIDPlaceHolder")); ViewModel:私有字符串_SIDPH;公共字符串 StudentIDPlaceHolder { 获取 { 返回 _SIDPH; } 设置 { _SIDPH = "ID"; } } 这没有帮助。
-
所以只是为了理解,您希望占位符显示一些文本?即..
Enter number? -
完全正确!!但由于 TextProperty 已绑定,我的输入字段上显示为“0”。
-
嗯,您可能希望将您的 id 设为可为空的 int,这样默认值为空。或者可能创建一个转换器,检查值是否为 0,然后返回 null。