gpt4 book ai didi

c# - MVVM 和更新属性

转载 作者:行者123 更新时间:2023-12-03 11:00:07 25 4
gpt4 key购买 nike

如果这个问题是基本的,我仍然试图了解 MVVM,所以很抱歉。

我的程序在屏幕上显示一些文本,但取决于另一个属性的状态将取决于文本的颜色。

在我看来,我可以通过两种方式做到这一点。

  • 当 Status 属性改变时,颜色会在 setter 中改变。 EG(伪代码)
    private LogDetails.LogStatus? logStatus;
    public LogDetails.LogStatus? LogStatus {
    get { return logStatus; }
    set {
    Color color = //logic to work out the color
    Color = color;
    }
    }
  • 我认为这可以通过 OnPropertyChanged (我可以自己研究)来完成。

  • 我的问题是,因为我有 2 个选项来完成我的简单任务,在某些情况下一个比另一个更好,一个更贬值/旧还是我被迫使用选项 2 只是为了安抚 MVVM 模式?

    我假设如果我最终需要 2 路绑定(bind)(例如,我可以从 GUI 更新状态),那么 MVVM 会更好,但就目前而言,有人有什么想法吗?

    最佳答案

    您应该简单地编写一个自定义 IValueConverter 这需要LogStatus并将其转换为颜色。绑定(bind)Text直接到LogStatus并绑定(bind)Color控制到LogStatus使用转换器。

    代码非常简单(只需实现一种方法,将转换器添加为 XAML 资源并在绑定(bind)中引用它),但您可以看到类似的示例 here .

    关于c# - MVVM 和更新属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14460895/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com