2012-07-31 62 views
0

我有一個文本塊,我想將其內容綁定到我的viewmodel中的屬性。如果內容是一個簡單的字符串,這很好。但是如果我想要格式化內容和使用或標籤,它就不那麼好了......在這種情況下,我無法綁定一個字符串:textblock只會顯示一個像這樣的字符串「Hallo」。當它是一個簡單的字符串綁定TextBlock文本

任何想法?由於

+0

其實編輯刪除了我的問題的一部分,我認爲這不明確。我想知道是否可以將FlowDocument綁定到一個texblock,而不是一個簡單的字符串。 Texblock可以通過使用Inlines屬性顯示運行標籤。有沒有辦法綁定到這個? – user1472131 2012-07-31 20:37:29

+0

你可以在你的問題中提出這個問題。唯一編輯的部分是問題標題。你可能試圖綁定到'Inlines'屬性,並認爲它不能工作,因爲它是隻讀的。您也可以考慮使用RichTextBox並將其綁定到其[Document](http://msdn.microsoft.com/zh-cn/library/system.windows.controls.richtextbox.document.aspx)屬性。 – Clemens 2012-08-01 07:23:12

回答

1

如果你有一些類型的屬性 - 您可以創建這種類型的一個DataTemplate

<DataTemplate DataType="{x:Type local:MySomeType}"> 
    <!--your visual presentation goes here--> 
</DataTemplate> 

現在你可以簡單地使用ContentPresenter顯示您的財產

<ContentPresenter Content="{Binding MySomeTypeProperty}"/> 
0

像這樣的東西:

<Textblock content="{Binding MyProperty, StringFormat={}Hello {1}}" /> 

剛剛玩過字符串格式。

+1

你當然是指''。注意'TextBlock'中的CamelCase,屬性'Text'而不是'content','StringFormat'中多餘的{}以及參數索引'0'而不是'1'。 – Clemens 2012-07-31 12:35:45

+0

對於這個清理。我只用了幾次就在xaml中使用了字符串格式。 – TMan 2012-07-31 15:32:46

+0

你可以簡單地編輯你的答案。 – Clemens 2012-07-31 16:07:40

相關問題