是否可以使用社区工具包将可观察属性配置为只读?

问题描述 投票:0回答:1

我正在使用 CommunityToolkit 在视图模型中配置绑定属性,但在某些情况下,我只想将该属性设置为只读。所以我正在尝试这个:

[ObservableProperty]
public MyType _myProperty{ get; private set; }

但这仅适用于字段,不适用于属性。

是否可以使用 CommunityToolkit 设置只读属性?

谢谢。

mvvm community-toolkit-mvvm
1个回答
0
投票

您可以实现读取属性或计算属性。但不幸的是,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));
        }
© www.soinside.com 2019 - 2024. All rights reserved.