2012-11-21 86 views
1

我有一個ListSource與綁定到實現IDataErrorInfo的對象集合的ItemSource。爲了讓列表框中的項目單獨驗證,我使用了一個綁定組。如何刷新BindingGroup?

<ListBox.ItemBindingGroup> 
    <BindingGroup> 
     <BindingGroup.ValidationRules> 
      <DataErrorValidationRule/> 
     </BindingGroup.ValidationRules> 
    </BindingGroup> 
</ListBox.ItemBindingGroup> 

這工作很好,但驗證只發生一次,我不知道如何使它再次發生。刷新ItemsSource綁定不會導致驗證刷新,因爲我期望。

回答

2

我今天在玩綁定組,並且有同樣的問題,只是在連接數據網格中使用了這個規則。你將不得不解僱使用它的方法就像UpdateSources一個羣驗證:

void StackPanel_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.Key == Key.Return) 
      (sender as StackPanel).BindingGroup.UpdateSources(); 
    } 

PS - 我用一個StackPanel,這樣你就可以與您的列表框的事件進行實驗。