我有一个Xamarin.Forms应用程序。它使用的是freshmvvm框架,这与我的问题无关。一个页面有几个条目: <Entry Placeholder="Width" Text="{Binding TileWidth, Mode=TwoWay}" /> <Entry Placeholder="Height" Text="{Binding TileHeight, Mode=TwoWay}" />这些条目绑定到 ViewModel 属性: int _tileWidth; public int TileWidth { get => _tileWidth; set { _tileWidth = value; RaisePropertyChanged(nameof(TileWidth)); } } int _tileHeight; public int TileHeight { get => _tileHeight; set { _tileHeight = value; RaisePropertyChanged(nameof(TileHeight)); } }如果用户在条目中输入一些数字,则绑定将相应地设置属性。但是,如果在此之后用户从条目中删除值,则绑定不会将相应的属性重置为 0,这会导致各种问题。执行甚至不会到达属性的 set 部分。(如果用户显式输入 0,则绑定属性将按预期设置为 0)。也许有人知道我错过了什么?谢谢。
1 回答
智慧大石
TA贡献1946条经验 获得超3个赞
Entry.Text
需要您将其绑定到 的时间。
为了解决问题,您可以:string
int
如果要保留与属性(TileWidth、TileHeight)的绑定,请使用
IValueConverter
。int
只需将其绑定到属性即可。这不是一个好主意,因为我们正在谈论表示 & 的属性。
string
Width
Height
- 1 回答
- 0 关注
- 63 浏览
添加回答
举报
0/150
提交
取消