怎么办我Silverlight只读编辑控件,我可以剪切和粘贴吗?

时间:2010-02-25 13:53:37

标签: silverlight

我有一个主 - 详细视图,我在Silverlight 2中创建。所以,我没有使用SL3中提供的新的主要细节。

所以基本上你在顶部有一个网格,在底部你可以看到你在面板中出现的网格中选择的任何项目的详细信息。

我不希望用户能够意外更改字段中的值,所以我选择了标签。

用户要求剪切和粘贴:) 因为我无法获得该标签的焦点,所以我通过让用户右键单击标签来实现非标准的剪切和粘贴解决方案,并将其放在剪贴板上。然后,用户可以按Ctrl + V将其粘贴到其他地方或任何其他Windows应用程序中。

然而,现在有一些用户说他们需要能够选择标签中项目的一部分,比如说前3个字符,或者使用鼠标或键盘选择最后2个字符。因此,似乎标签需要替换为文本框控件。

这样做的问题似乎是,如果我将文本框设置为只读,我就无法剪切和粘贴它。所以,确定它是一个文本框,你不能编辑它,但你不能复制/选择它。

还有其他办法吗?

感谢您提供的任何帮助,

此致 Ĵ__

1 个答案:

答案 0 :(得分:1)

TextBox应该没问题。我不能代表Silverlight 2,也许SL2和TextBox存在问题,但我只是构建了一个示例Silverlight 3应用程序,添加了一个TextBox,并设置了Text =“some text”和IsReadOnly =“True”。我可以选择文本的任何部分(通过鼠标),然后按ctrl-c将它放在剪贴板上。

这是我设置的(非常简单的)xaml,没有代码隐藏。我可以选择文本的任何部分并将其复制到剪贴板:

<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="layouttest.MainPage"
Width="640" Height="480">
<Grid x:Name="LayoutRoot" Background="White">
    <TextBox Width="200" Height="30" Text="See if you can copy this"
    TextWrapping="Wrap" IsReadOnly="True"  />
</Grid>