LightSwitch将字符串复制到剪贴板

时间:2012-07-23 01:05:30

标签: silverlight visual-studio-lightswitch

我添加了System.Windows和Microsoft.LightSwitch.Threading;访问剪贴板。

当我运行此程序时,我收到此错误:无效的跨线程访问。

让剪贴板工作的任何想法?

        partial void btnCopyFaucets_Execute()
    {
        // Write your code here.
        try
        {
            string CopyText, nManu, nProductCode, nFaucet;
            Faucets cpyfaucet = this.FaucetsSearch.SelectedItem;

            nManu = Convert.ToString(cpyfaucet.Manufacturer);
            nProductCode = Convert.ToString(cpyfaucet.ProductCode);
            nFaucet = Convert.ToString(cpyfaucet.Faucet);

            CopyText = nManu + " " + nProductCode + " " + nFaucet;

            // THIS IS WHERE THE COMPILER IS NOT HAPPY.
            Clipboard.SetText(CopyText);
        }
        catch (Exception damnit)
        {
            MessageBox.Show(damnit.Message);
        }
    }

1 个答案:

答案 0 :(得分:3)

尝试使用这样的主调度程序:

Microsoft.LightSwitch.Threading.Dispatchers.Main.BeginInvoke(() =>
 Clipboard.SetText(CopyText);
});

也许如果它是一个网络应用程序,那么你之后会有权限问题。