【发布时间】:2014-11-07 09:44:49
【问题描述】:
我正在尝试向我的 Windows Phone 应用程序添加共享功能。代码以不可预测的方式运行。有时它会起作用,但大多数情况下它不起作用,而且我无法获得有关导致崩溃的原因的任何详细信息。有人可以通过下面的代码告诉我是否遗漏了什么吗?谢谢!
public ArticlePage()
{
this.InitializeComponent();
//..
RegisterForShare();
}
private void RegisterForShare()
{
DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView();
dataTransferManager.DataRequested += new TypedEventHandler<DataTransferManager,
DataRequestedEventArgs>(this.ShareLinkHandler);
}
private void ShareLinkHandler(DataTransferManager sender, DataRequestedEventArgs e)
{
DataRequest request = e.Request;
DataRequestDeferral defferal = request.GetDeferral();
request.Data.Properties.Title = this.article.Title;
request.Data.Properties.Description = this.article.Summary;
request.Data.SetWebLink(new Uri(this.article.UrlDomain));
defferal.Complete();
}
private void ShareCommand_Click(object sender, RoutedEventArgs e)
{
DataTransferManager.ShowShareUI();
}
更新
当我从 Visual Studio 调试时,代码总是有效,但几乎从来没有。我做了一个发布版本,认为调试版本中可能有一些导致问题的代码,但这没有任何区别。
【问题讨论】:
-
尝试设置 RegisterForShare();在 OnNavigatedTo 而不是构造函数中。
-
试过了。没有什么不同。
-
把所有的函数都用try catch,并显示任何错误来查明错误,因为提供的东西不足以帮助你更多。
-
@W.K.S 现在试试我的答案,告诉我它是否有效。
标签: c# windows-phone-8.1