2016-01-20 58 views
1

我正在使用一個xaml視圖,該視圖具有一個自定義可展開元素,該元素從System.Windows.Controls.Expander繼承。在這個擴展器中有一個內容,它是一個contentControl.Content元素,以及一個標題和一些現在不相關的額外安全元素。Trimm從擴展器內的內容中獲取文本

此視圖是爲小屏幕設計的,因此沒有水平滾動條。首選行爲是分解內容中的文本,即使這意味着要添加垂直滾動。內容的定義如下:

Content="{Binding Model.DebugText}

的問題是:我怎麼能實現這樣的事情?

我已經檢查MSDN文檔,但我似乎還沒有找到修改的內容的行爲有關的任何東西:

https://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.content(v=vs.110).aspx http://10.112.241.50/DevDocu/Online/topic39042.html

+0

如果只有文本將作爲內容輸入,則可以使用綁定到「{TemplateBinding Content}」的TextBlock替換控件模板中的ContentPresenter,並直接在其上設置「TextWrapping」。或者,您可以將「TextBlock」作爲內容,因爲內容應該支持任何CLR對象並執行相同操作。 –

+0

我很害怕我很**新xaml,我不明白你說了什麼。沒有更簡單的方法來實現這一點嗎? – janonespe

回答

0

不用擔心,我們都在那裏。舉個例子。

<Expander> 
    <TextBlock Text="{Binding Model.DebugText}" WordWrapping="Wrap"/> 
</Expander> 

然後你只是傳遞一個TextBlock作爲內容。或者,如果你想變得有趣,把它變成只讀文本框,這樣用戶可以複製/粘貼DebugText。

+0

是的!它完美的作品。謝啦! – janonespe