我正在使用 CommunityToolkit 在视图模型中配置绑定属性,但在某些情况下,我只想将该属性设置为只读。所以我正在尝试这个:
[ObservableProperty]
public MyType _myProperty{ get; private set; }
但这仅适用于字段,不适用于属性。
是否可以使用 CommunityToolkit 设置只读属性?
谢谢。
您可以实现读取属性或计算属性。但不幸的是,ToolKit 没有内置工具来简化此类实现。
因此,你必须用手写代码来实现它。
这种实现的一个例子:
private readonly SomeModel model;
public PeopleViewModel(SomeModel model)
{
this.model = model;
model.NameChanged += OnNameChanged;
}
public string ModelName => model.Name;
private void OnNameChanged(object? sender, EventArgs e)
{
OnPropertyChanged(nameof(ModelName));
}