uza*_*y95 -4 c# linq silverlight clipboard
为什么我需要在LINQ查询上调用ToList()方法?
例如:
private void btnEnc_Click(object sender, RoutedEventArgs e)
{
SHA1 sha = new SHA1Managed();
string sResult = "";
var v = sha.ComputeHash(
UTF8Encoding.Unicode.GetBytes(tbxWordToEncrypt.Text)
).Select(
p => sResult += string.Format("{0:x2}", p)
).ToList();
Clipboard.SetText(sResult);
tbxEncrypted.Text = sResult;
}
Run Code Online (Sandbox Code Playgroud)
此外,当我尝试访问剪贴板时,我得到一个安全对话框.我怎么能阻止这个?

默认情况下,您在部分信任下运行.当调用ClipBoard.SetText()(或ClipBoard.SetText(...))时,用户必须确认访问权限.
如果您创建了一个浏览器外应用程序并请求提升信任,则此限制将不再适用,并且不会显示任何对话框.
您可以将应用程序配置为需要提升信任.您需要在应用程序的清单中设置它.
有关更多信息,请查看MSDN:
http://msdn.microsoft.com/en-us/library/ee721083(v=vs.95).aspx
当用户安装Silverlight应用程序时,他们将获得安全警告,然后才能继续.这只发生过一次.以这种方式运行应用程序时,ClipBoard.SetText()调用将不再触发安全对话框.