我在遇到自定義的ValidationRule時觸發了與Expander.Header綁定關聯的問題。實際上,我似乎能夠觸發這些自定義規則的唯一地方是在DataGrid.RowValidationRules塊中...Expander.Header內部的自定義驗證規則綁定未觸發
擴展器在我的Window XAML文件中被定義爲這樣;
<Expander Style="{StaticResource ValidatedSecondLevelExpanderStyle}">
<Expander.Header>
<Binding Path="Name" Mode="OneWay" ValidatesOnDataErrors="True" NotifyOnValidationError="True">
<Binding.ValidationRules>
<ValidationRules:BoundObjectIsValid />
</Binding.ValidationRules>
</Binding>
</Expander.Header>
</Expander>
綁定屬性「名稱」顯示正確,但驗證規則「BoundObjectIsValid」未被調用。這是可能的,如果是這樣,我錯過了什麼?
我知道我可以交替實現IDataErrorInfo的綁定的對象,但對象不能理智地驗證本身沒有由該系統的其他部分提供了一些背景。重構是可能的,但我很想讓ValidationRules首先工作!
我已經得到了他們的DataGrid顯示時驗證行有效性規則將被應用。我認爲有一種方法可以用任何綁定來實現,因爲它是可用的設置...? –
@RJLohan您可以嘗試有效性規則的屬性「ValidatesOnTargetUpdated」設置爲true。我只是發現有這樣一個屬性。希望這有助於。 – Colin
貌似這個屬性有差別,不知道爲什麼,雖然,因爲它不會在其他情況下應用。 –