2010-01-13 21 views
0

我幾乎肯定答案是簡單的否定,你不能那樣做。總而言之,用一個可爲空的<bool>屬性覆蓋一個布爾屬性

所以我正在爲我的應用程序的選項。 我有一個體面的設置,所以我有全局選項和本地選項,因爲你可以在不同的選項卡上選擇不同的選項。

對於全局選項,我想通過返回null來表示選項在所有選項卡之間不一致的情況。

我想重複使用UI綁定到對象,所以我想我可以有一個派生的選項對象的版本,並覆蓋了大多數的屬性訪問器,但對於通常支持BOOL的選項,我會需要能夠返回空值來顯示不一致。

但我不想將選項界面更改爲使用可空類型,但我想重用綁定。但我認爲我必須選擇一個。

回答

0

我不確定你用什麼來創建UI,但有很多關於WPF的MVVM模式的信息,這對於這類事情來說是完美的。這個想法是,你將創建一個基礎對象(「模型」,它具有非空的布爾屬性)的抽象,幷包裝它們,以便它們獲取/設置空的布爾值。這個抽象被稱爲「viewmodel」,你的視圖綁定到它而不是直接模型。您還可以實現屬性更改通知和其他功能,以使視圖模型中的數據綁定更加輕鬆。

MVVM tag StackOverflow瞭解更多信息。

+0

是的,我認爲這是答案。我沒有提到我正在開發的應用程序的部分是模型,在大多數情況下並不需要太多的轉換,在這種情況下,deffinetly可以使用這種模式。所以我需要一個interfaceViewModel類,然後兩個ViewModel版本來表示兩個不同的選項,其中1個用於常規選項,1個用於全局選項版本。 – 2010-01-14 01:03:29