如何使用WPF将文本包装到标签中?
我有一个TextBox
和一个标签。 点击一个按钮后,我执行下面的代码:
label1.Content = textbox1.Text;
我的问题是,如何启用标签的文字包装? 在一行中可能会显示太多的文本,并且如果是这种情况,我希望它自动换行到多行。
Label
控件不直接支持WPF中的文本换行。 您应该改用TextBlock
。 (当然,如果您愿意,您可以将TextBlock
放置在Label
控件中。)
示例代码:
<TextBlock TextWrapping="WrapWithOverflow">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec adipiscing
nulla quis libero egestas lobortis. Duis blandit imperdiet ornare. Nulla
ac arcu ut purus placerat congue. Integer pretium fermentum gravida.
</TextBlock>
通常,您无法使用TextBlock
替换Label
,因为您希望使用Target
属性(在使用键盘时将焦点设置为目标控件,例如下面的示例代码中的ALT + C),因为这是Label
实际上提供的TextBlock
。
但是, Label
使用TextBlock
来呈现文本(如果字符串放置在Content
属性中,通常是这样); 因此,您可以为Label
内的TextBlock
添加样式,如下所示:
<Label
Content="_Content Text:"
Target="{Binding ElementName=MyTargetControl}">
<Label.Resources>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
</Label.Resources>
</Label>
<CheckBox x:Name = "MyTargetControl" />
这样你就可以保持Label
的功能,同时也可以包装文本。
我使用了下面的代码。
<Label>
<Label.Content>
<AccessText TextWrapping="Wrap" Text="xxxxx"/>
</Label.Content>
</Label>
链接地址: http://www.djcxy.com/p/50515.html
上一篇: How can I wrap text in a label using WPF?
下一篇: Is there a way to display formatted rich text in WPF datagrid?