views:

551

answers:

2

Is it possible to allow a user to select text in a silverlight text block (not text box) as they would be able to in any HTML page?

+4  A: 

No. The Silverlight TextBlock doesn't support selection. You would need to use a TextBox in read-only mode instead. To make the user experience a bit more seamless, you could style the TextBox to have a normal arrow cursor instead of an I-beam.

itowlson
That's what I keep reading. I was hoping that someone was able to do something better by using a behavior or something.
Gabriel McAdams
@Gabriel I had the same hopes, but unfortunately you can't. The TextBlock doesn't render text in the same way that a TextBox does.
Corey Sunwold
A: 

I later found a solution, and I wanted to share it. The solution can be found here.

Excerpt from that page:

...change the textbox's style. Put the following Xaml code in App.xaml or some other resource:

<Style x:Key="TextBoxStyle" TargetType="TextBox">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="TextBox">
                <Grid x:Name="RootElement">       
                    <ScrollViewer x:Name="ContentElement" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" BorderThickness="0"/>       
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Then set your textbox's style as "{StaticResource TextBoxStyle}", and set IsReadOnly property as true, your textbox will look like a textblock but it can be copied.

Gabriel McAdams