2012-05-30 31 views
0

讓我來解釋一下這個問題。我有一個FilterTags類型的可觀察集合(其中FilteredTags是一個類,有一個名爲「isChecked」的屬性)。 現在我的複選框綁定了這個可觀察的集合。這是一種雙向綁定,所以當我檢查一個複選框時,更改將反映在集合中。 此複選框還有一個檢查已更改的事件。問題是在集合中更新更改之前調用的checkchanged事件。如何使複選框前面的複選框更新綁定的可觀察集合在複選框之前更改silverlight中的事件?

我希望首先更新集合,以便我可以在checkboxchanged函數中使用它。有什麼辦法可以做到嗎?

+0

你在檢查改變的事件中做什麼?有什麼更新UI元素? –

回答

0

請勿在用戶控制下使用訂閱代碼背後的事件。根據MVVM模式嘗試設計項目。你可以找到一些信息there

0

嘗試像這樣悶悶不樂。 更新準備就緒後觸發事件。

public event EventHandler SaveCompleted; 

...

_ctx.SubmitChanges((so) => { 
     if (SaveCompleted != null) SaveCompleted(this, new EventArgs()); 
     InvalidateCommands(); 

    }, null); 
0

我做了一個文本框,迫使模型的價值被更新時,該文本的變化,也許它可以幫助你(請嘗試在頂部運行此你的事件處理程序):

var expression = this.GetBindingExpression(TextBox.TextProperty); 
if (expression != null) 
    expression.UpdateSource();