2012-11-05 61 views
0

我將TextBox控件綁定到名爲Address的實體,該實體具有子屬性AddressLines。內部驗證邏輯具有AddressLines屬性的ValidationErrors,但它不會通過紅色邊框在控件上「可視化」。TextBox在驗證錯誤上未突出顯示'紅色'

<TextBox Text="{Binding Path=Address.AddressLines, 
          Mode=TwoWay, 
          UpdateSourceTrigger=PropertyChanged, 
          NotifyOnValidationError=True}" 

       ToolTip="{Binding RelativeSource={RelativeSource Self}, 
           Path=(Validation.Errors)[0].ErrorContent}" /> 

如果我沒看錯,這是因爲實體Address本身不是空和物業AddressLines是。如果是這種情況,如果在Master-Detail錯誤的情況下如何通知控制器驗證錯誤?

+0

也許用IDataErrorInfo擴展你的Address/AddressLines?如果您願意,我很樂意提供樣品。 – Nick

+0

@Nick:哦,是的,如果你有鏈接的話。 – Marshal

回答

1

最好的辦法是使用IDataErrorInfo接口來定製對象如何控制其驗證狀態。

看看文章here,它舉了一個很好的例子。如果你想要一個與你的代碼相關的樣本,請提供一份你的地址等級,然後我會看看我能做什麼!

+0

謝謝。我會檢查出來並回復給你。 – Marshal