Я решил эту проблему, поместив код javascript facebook в файл aspx, в котором хранится мой xap silverlight, а затем вызвал этот код через silverlight.
Этот код входит в мой файл aspx:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : 'APP_ID',
status : true,
cookie : true,
oauth: true
});
function sendRequestToRecipients() {
var user_ids = document.getElementsByName("user_ids")[0].value;
FB.ui({method: 'apprequests',
message: 'My Great Request',
to: user_ids,
}, requestCallback);
}
function sendRequestViaMultiFriendSelector() {
FB.ui({method: 'apprequests',
message: 'My Great Request'
}, requestCallback);
}
function requestCallback(response) {
// Handle callback here
}
</script>
Затем вы можете вызвать его из Silverlight, используя этот код:
var param = new object[] { };
HtmlPage.Window.Invoke("sendRequestViaMultiFriendSelector", param);