как сделать Silverlight доступным только для чтения элементом управления, который я могу вырезать и вставить? - PullRequest
0 голосов
/ 25 февраля 2010

У меня есть представление основной детали, которое я создал в Silverlight 2. Поэтому я не использую новый материал основной детали, доступный в SL3.

Таким образом, в основном у вас есть сетка вверху, а внизу у вас есть детали для любого элемента, который вы выбираете в сетке, появляющейся на панели.

Я не хотел, чтобы пользователь мог случайно изменить значения в полях, поэтому я пошел с метками.

пользователь попросил вырезать и вставить :) Поскольку я не мог сфокусировать внимание на этой метке, я реализовал нестандартное решение для вырезания и вставки, щелкнув правой кнопкой мыши по метке, и она поместила его в буфер обмена. Затем пользователь может нажать Ctrl + V, чтобы вставить его в другое место или в любое другое приложение Windows.

Однако теперь некоторые пользователи говорят, что им нужно иметь возможность выбрать часть элемента в метке, скажем, первые 3 символа или последние 2 символа с помощью мыши или клавиатуры. Таким образом, похоже, что метка должна быть заменена на текстовое поле управления.

Проблема, связанная с этим, заключается в том, что если я установлю текстовое поле только для чтения, я не смогу вырезать и вставить его. Поэтому, конечно, это текстовое поле, и вы не можете его редактировать, но вы также не можете копировать / выбирать из него.

Есть ли другой способ сделать это?

спасибо за любую помощь, вы можете предоставить,

С уважением, J __

1 Ответ

1 голос
/ 25 февраля 2010

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>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...