2016-01-20 27 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