如何在复选框更改Silverlight中的事件之前,使用复选框更新第一个可观察集合?

时间:2012-05-30 05:28:52

标签: silverlight

让我解释一下这个问题。

我有一个可观察的类型FilterTags集合(其中FilteredTags是一个类,有一个名为“isChecked”的属性)。 现在我的复选框与这个可观察的集合绑定。它是双向绑定,因此当我选中复选框时,更改将反映在集合中。 复选框也有一个检查更改事件。问题是在集合中更新更改之前调用的checkchanged事件。

我希望首先更新集合,以便我可以在checkboxchanged函数中使用它。有什么办法可以吗???

3 个答案:

答案 0 :(得分:0)

尝试不要在用户控制下使用订阅代码中的事件。根据MVVM模式尝试设计项目。您可以找到一些信息there

答案 1 :(得分:0)

尝试这样的事情。 更新准备就绪时触发事件。

public event EventHandler SaveCompleted;

...

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

    }, null);

答案 2 :(得分:0)

我为文本框执行此操作以强制在文本更改时更新模型的值,也许它可以帮助您(尝试在事件处理程序的顶部运行它):

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