Silverlight y Clipboard

Silverlight Add comments

Como complemento al articulo en el que explicabamos como generar / grabar un fichero en Silverlight, el uso del clipboard puede sernos también de utilidad. La solución, aunque no optima porque solo funciona en Internet Explorer, es simpe.

C#:
  1. private void btnSetTo_Click(object sender, RoutedEventArgs e)
  2. {
  3.    ScriptObject clipboard = (ScriptObject)HtmlPage.Window.GetProperty("clipboardData");
  4.  
  5.    if (clipboard != null)
  6.       clipboard.Invoke("setData", "text", txtCaja.Text);
  7. }
  8.  
  9. private void btnGetFrom_Click(object sender, RoutedEventArgs e)
  10. {
  11.    ScriptObject clipboard = (ScriptObject)HtmlPage.Window.GetProperty("clipboardData");
  12.  
  13.    if (clipboard != null)
  14.       txtCaja.Text = clipboard.Invoke("getData", "text").ToString();
  15. }
  16.  

2 Responses to “Silverlight y Clipboard”

  1. Lobosoft Says:

    ¡¡Muy interesante compañero!!

    Por curiosidad, he estado mirando el tema de conseguirlo con Firefox. Es bastante curioso cómo lo logran en este enlace, apelando a la interoperatibilidad entre navegadores y el acceso al portapapeles que lleva a cabo Flash:

    http://www.jeff.wilcox.name/2008/05/clipboard-access/

    Un saludo.

  2. admin Says:

    Compañero, seria meter al enemigo en casa ;-)

    Pero suena muy interesante el tema de tener embebido en una pagina una aplicacion silverlight y Flash.

    Investigando un poquito por ahi, parece ser que añadiendo ciertas politicas de seguridad a uno de los ficheros de peferencias de usario de firefox, podría funcionar. Esto ya lo pusimos en practica en nuestra anterior etapa en cierta multinacional Francesa, cuando ofreciamos nuestros servicios a una empresa con raices Argentina.

    Añadir estas lineas al fichero user.js

    user_pref(“capability.policy.policynames”, “allowclipboard”);
    user_pref(“capability.policy.allowclipboard.sites”, “http://www.albloguera.es”);
    user_pref(“capability.policy.allowclipboard.Clipboard.cutcopy”, “allAccess”);
    user_pref(“capability.policy.allowclipboard.Clipboard.paste”, “allAccess”);

    Saludos,
    JoseF

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Acceder

Switch to our mobile site