WEB开发网
开发学院图形图像Flash My Silverlight系列(3)——SilverLight的剪切板... 阅读

My Silverlight系列(3)——SilverLight的剪切板操作

 2009-04-25 12:05:02 来源:WEB开发网   
核心提示:出于安全因素的考虑,Silverlight应用程序并不能过多的访问本地资源,My Silverlight系列(3)——SilverLight的剪切板操作,比如说它只有openFileDialog而没有saveFileDialog,另外SilverLight也不能直接操作Windows剪切板,因此我们大可以通过这种途径来

出于安全因素的考虑,Silverlight应用程序并不能过多的访问本地资源,比如说它只有openFileDialog而没有saveFileDialog,另外SilverLight也不能直接操作Windows剪切板。

在我们设计Form程序的时候,时常要用到剪切板资源,在.net下,只要操作System.Windows.ClipBoard类下的各个静态方法就能过实现我们的需求。但是SilverLight程序集作为WPF的一个子集,并没有ClipBoard这个类。但是如果我们想在SilverLight中访问剪切板资源的话,就要另辟蹊径。由于SilverLight中有与asp.net以及HTML DOM交互的机制,因此我们大可以通过这种途径来实现SilverLight访问剪切板的目的。

    <script type="text/javascript">              
        function copyToClipBoard() {
            if (arguments.length > 0) {
                window.clipboardData.setData("abcd", arguments[0]);              
            }
        }
    </script>

在HTML和aspx文件(调用SilverLight程序xap的载体)中,添加这段js代码,然后改写app.xaml.cs文件如下:

        public App()
        {
            this.Startup += this.Application_Startup;
            this.Exit += this.Application_Exit;
            this.UnhandledException += this.Application_UnhandledException;

            InitializeComponent();
        }

        private void Application_Startup(object sender, StartupEventArgs e)
        {
            Page p = new Page();
            System.Windows.Browser.HtmlPage.RegisterScriptableObject("SilverlightApplication", p);
            this.RootVisual = p;
        }

1 2  下一页

Tags:My Silverlight 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接