无论如何用Nullable <bool>属性覆盖bool属性</bool>

时间:2010-01-13 05:46:26

标签: .net inheritance nullable

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

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

对于全局选项,我想通过返回null来表示所有选项卡中的选项不一致。

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

但我不想更改Options接口以使用可空类型,但我想重用绑定。但我想我必须选一个。

1 个答案:

答案 0 :(得分:0)

我不确定你用什么来创建UI但是有很多关于WPF的MVVM模式的信息,这对于这种事情是完美的。我们的想法是你要创建一个底层对象的抽象(“模型”,它具有不可空的布尔属性)并将它们包装起来,以便它们获得/设置可空的布尔值。这种抽象称为“viewmodel”,您的视图将绑定到它而不是直接绑定到模型。您还可以实现属性更改通知和其他功能,以便在视图模型中更轻松地进行数据绑定。

有关详细信息,请参阅StackOverflow上的

MVVM tag