2010-05-23 48 views
0

就像標題所說,我正在嘗試將架構應用到我的應用程序中,以區分變化源的變化,無論是從UI還是代碼隱藏。將UI變化區分爲代碼隱藏變量

我的問題是,我需要在屬性更改其值後觸發某些操作,但只有在UI發生更改時才需要執行此操作,否則我不想執行該操作。我有一些麻煩,因爲,例如當一個複選框(雙向綁定),改變狀態,我的綁定屬性得到更新,然後我使用選中和未選中的事件觸發該操作。問題是,當我改變屬性代碼隱藏它也會觸發這些事件,而我不想那樣做。現在,我正在使用一個標誌來啓用或不啓用事件處理程序中的操作,但我不認爲這是一個好主意。

任何暗示或想法? 我正在考慮只使用單向綁定並使用命令來控制我自己的一切。

回答

0

它看起來像你有你的模型和你的控制器之間的混淆。如果模型的改變來自用戶,則不應有任何重要的情況。如果您想要確認消息,則用戶進行更改,然後不要將視圖控件直接綁定到模型,而是讓控制器響應該事件。

這樣,如果控制改變爲與模型相同,那麼改變是內部的,並且不需要確認,但是如果控制被用戶改變,則控制狀態不同於模型,並且可以顯示確認。

+0

也許有控制器處理事件是要走的路。我的問題是我有一個菜單視圖,其中有些選項需要傳遞給主內容視圖。如果用戶檢查應該傳遞給主視圖的東西,但也可能發生主視圖中的某個過程可以觸發對菜單視圖中這些選項的更改。在這種情況下,我不想觸發事件,否則我會向主視圖發送無用的垃圾信息,因爲這是觸發變化的視圖。 – Jay 2010-05-23 10:39:31