如何在Silverlight 3.0文本块中选择文本

13

用户是否可以像在任何HTML页面中一样,在Silverlight文本块(而不是文本框)中选择文本?

2个回答

18
我后来找到了解决方法,我想分享一下。解决方案可以在此处找到:这里
从该页面摘录:
...更改文本框的样式。将以下Xaml代码放入App.xaml或其他资源中:
<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>

将您的文本框样式设置为"{StaticResource TextBoxStyle}",并将 IsReadOnly 属性设置为 true,您的文本框将看起来像一个文本块,但仍然可以被复制。


链接已经失效,这是一个针对TextBox的解决方案。原帖明确指出了TextBlock - Julien
3
@Julien: 我更新了链接。如果您看一下,我是原帖的作者。我提出了问题,并得到回答说没有实际的文本块解决方案,这是正确的答案。那就是我接受它的原因。我找到了一个解决方法,并在此发布了它。这种解决方法使用一个文本框,样式看起来和功能上像一个文本块(除了它允许用户选择和复制文本)。 - Gabriel McAdams

8

不支持选择。Silverlight TextBlock不支持选择。您需要使用只读模式下的TextBox。为了使用户体验更加无缝,您可以将TextBox样式设置为具有正常箭头光标而非I型光标。


这就是我一直在阅读的内容。我希望有人能够通过使用某种行为或其他方法做得更好。 - Gabriel McAdams
@Gabriel 我也有同样的希望,但不幸的是你不能这样做。TextBlock无法像TextBox一样呈现文本。 - Corey Sunwold

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接