Я новичок в Silverlight, и я делаю некоторые тесты. С моим текущим тестом я пытаюсь отобразить в реальном времени текущее содержимое буфера обмена. Но есть странное поведение с этим кодом:Silverlight 4 исключение безопасности буфера обмена «доступ запрещен»?
namespace SilverlightTest
{
public partial class MainPage : UserControl
{
private Timer _timer;
public MainPage()
{
InitializeComponent();
var dispatcher_timer = new DispatcherTimer {Interval = new TimeSpan(0, 0, 0, 5)};
dispatcher_timer.Tick += new EventHandler(timer_Callback);
dispatcher_timer.Start();
}
private void timer_Callback(object state, EventArgs eventArgs)
{
current_clip_board.Content = Clipboard.GetText();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
current_clip_board.Content = Clipboard.GetText();
}
}
}
Кнопкой событие и событие таймера, предполагают, чтобы сделать точно такое же действие. Но это не так! Кнопка работает отлично и установить текст из буфера обмена в этикетку, но таймер сгенерирует исключение:
доступа Буфер обмена не допускается
вопрос: почему? :)
Спасибо.
PS: Я бы поставил на проблему потока: р
Спасибо. Есть ли способы обойти это ограничение? Я не хочу взломать, но это может быть незаменимой особенностью для приложения, которое я хочу построить ... –
@Niklaos: Единственный способ обойти это ограничение - установить приложение как приложение для браузера с повышенным доверять. – AnthonyWJones
Также обратите внимание, что буфер обмена Silverlight ограничен только текстом. – WiredPrairie