2010-03-12 61 views

回答

8

否。Silverlight TextBlock不支持选择。您需要改为在只读模式下使用文本框。为了让用户体验更加无缝,您可以将文本框设置为具有正常的箭头光标而不是I型光束。

+0

这就是我一直在阅读。我希望有人能够通过使用某种行为或其他方式来做更好的事情。 – 2010-03-12 01:22:50

+0

@加布里埃尔我有同样的希望,但不幸的是你不能。 TextBlock不会像TextBox那样呈现文本。 – 2010-03-12 01:25:02

+0

这会杀死可用性。 – 2011-07-18 22:03:50

18

我后来找到了解决方案,我想分享它。解决方案可以找到here。从该页面

摘录:

...改变文本框的样式。放入的App.xaml以下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属性为真,你的文本框会看起来像一个文本块,但它可以复制。

+0

谢谢,完美的作品! – Jage 2012-02-13 16:29:00

+0

链接不再工作,这是'TextBox'的解决方案。 OP清楚地说'TextBlock' – Julien 2012-11-29 21:02:25

+3

@Julien:我更新了链接。如果你看,我是OP。我问,有人回答说没有实际的文本块解决方案。这是一个正确的答案。这就是我接受它的原因。我发现了一个解决方法,我在这里发布了它。解决方法是使用文本框,将其设计为文本块的外观和功能(除了允许用户选择和复制文本)。 – 2012-11-29 22:23:36