2012-05-01 44 views
1

我見過很多關於如何在文本框的工具提示中顯示錯誤的示例。有人可以給我一個例子,說明如何在單獨的TextBlock中顯示錯誤,而不是在TextBox的工具提示中顯示錯誤?在文本塊中顯示IDataErrorInfo錯誤而不是工具提示

如果文本框和文本塊在不同的視圖中,我對如何做到這一點特別感興趣。帶有textblock的視圖可以訪問實現了IDataErrorInfo的數據。

+0

這是一個簡單的轉移,如果你已經看到它是如何完成的工具提示,你應該知道如何得到一個驗證錯誤,從那裏應該是微不足道的,讓它顯示在工具提示以外的地方。 –

+2

再一次的問題是,他們是在不同的意見,所以我沒有訪問原始文本框。所以我不能指向元素名稱。如果非常簡單,用一個例子回答這個問題。 – KrisTrip

回答

0

所以我最後做的是將我錯誤爲文本的屬性。任何時候我的名字屬性被更新,如果它有錯誤,我更新NameError屬性。那時我能夠綁定到那個屬性。它似乎有點骯髒,但它爲我做了伎倆。

0

你寫

與文本塊的視圖具有訪問具有 IDataErrorInfo的就可以實現的,雖然數據。

所以一種方式可能是將文本塊綁定到像文本框一樣的屬性。然後爲您的textblock創建一個驗證模板,以覆蓋整個文本塊。

編輯:也許這樣的事情?

<ControlTemplate x:Key="ValidationTemplate"> 
    <Grid> 
     <AdornedElementPlaceholder Name="MyAdornedElement" /> 
     <TextBlock Text="{Binding ElementName=MyAdornedElement,Path=AdornedElement.(Validation.Errors).CurrentItem.ErrorContent}" /> 
    </Grid> 
</ControlTemplate> 

你必須把它添加到文本塊風格當然

+0

我不太關注。這是如何鏈接到我的數據?那麼,我必須將AdornedElementPlaceholder綁定到數據,以便獲取錯誤? – KrisTrip

相關問題