我想在ListView为空时显示标签。我尝试了几件事,例如:
[17:29:47]
其中“Items”是项目的Reactive列表:ReactiveList Items 并且“IsVisible”是标签IsVisible =“{Binding IsVisible}”属性的绑定属性。
问题是,当“Items”从空变为非空或反转时,它不会更新。
答案 0 :(得分:1)
如果您只是在列表中添加或删除项目,则观看Items
媒体资源不会导致WhenAnyValue
触发。当Items
属性本身发生变化时,它将触发。
当您对列表中项目的实际计数发生变化时,您正在寻找的是通知。类似的东西:
Items.CountChanged
.Select(count => count == 0)
.DistinctUntilChanged()
.ToProperty(this, x => x.IsVisible, out _isVisible);
修改强>
这假定您的IsVisible
属性设置如下:
private ObservableAsPropertyHelper<bool> _isVisible;
public bool IsVisible => _isVisible.Value;