代码之家  ›  专栏  ›  技术社区  ›  Joel Barsotti

无论如何,要用可为空的属性重写bool属性

  •  0
  • Joel Barsotti  · 技术社区  · 16 年前

    我几乎可以肯定答案是否定的,你不能那样做。

    所以我正在为我的应用程序开发选项。 我有一个不错的设置,所以我有全局选项和本地选项,因为您可以在不同的选项卡上选择不同的选项。

    对于全局选项,我希望通过返回空来表示某个选项在所有选项卡中不一致的情况。

    我想重用绑定到对象的UI,所以我想我可以得到派生的Options对象的A版本,并覆盖它的大部分属性访问器,但是对于通常支持bool的选项,我需要能够返回nullable来显示不一致性。

    但我不想将选项接口更改为使用可为空的类型,但我想重用绑定。但我想我得选一个。

    1 回复  |  直到 16 年前
        1
  •  0
  •   Community Mohan Dere    9 年前

    我不知道你用什么来创建用户界面,但是有很多关于WPF的MVVM模式的信息,非常适合这种情况。其思想是,您将创建一个底层对象(具有不可为空布尔属性的“模型”)的抽象,并对其进行包装,以使它们获得/设置可为空的布尔值。这个抽象被称为“视图模型”,您的视图绑定到它,而不是直接绑定到模型。您还可以实现属性更改通知和其他功能,以使ViewModel中的数据绑定更加容易。

    MVVM tag 有关更多信息,请访问stackoverflow。