How to: Create a Control That Has an Access Key and Text Wrapping

This example shows how to create a control that has an access key and supports text wrapping. The example uses a Label control to illustrate these concepts.

Example

Add Text Wrapping to Your Label

The Label control does not support text wrapping. If you need a label that wraps across multiple lines, you can nest another element that does support text wrapping and put the element inside the label. The following example shows how to use a TextBlock to make a label that wraps several lines of text.

<Label Width="200" HorizontalAlignment="Left">
  <TextBlock TextWrapping="WrapWithOverflow">
    A long piece of text that requires text wrapping
    goes here.
  </TextBlock>
</Label>

Add an Access Key and Text Wrapping to Your Label

If you need a Label that has an access key (mnemonic), use the AccessText element that is inside the Label.

Controls such as Label, Button, RadioButton, CheckBox, MenuItem, TabItem, Expander, and GroupBox have default control templates. These templates contain a ContentPresenter. One of the properties that you can set on the ContentPresenter is RecognizesAccessKey="true", which you can use to specify an access key for the control.

The following example shows how to create a Label that has an access key and supports text wrapping. To enable text wrapping, the example sets the TextWrapping property and uses an underline character to specify the access key. (The character that immediately follows the underline character is the access key.)

<TextBox Name="textBox1" Width="50" Height="20"/>
<Label Width="200" HorizontalAlignment="Left"
       Target="{Binding ElementName=textBox1}">
  <AccessText TextWrapping="WrapWithOverflow">
    _Another long piece of text that requires text wrapping
    goes here.
  </AccessText>
</Label>

See also