在没有利用Image
事件的情况下,您是否有办法确定ImageOpened
的来源已设置?
我正在使用Facebook SDK
,更具体地说是ProfilePicture
控件,它没有此事件(不确定它是否与Image
实际相关)而且我是想知道图像(个人资料图片)何时被下载并即将被显示。
P.S。 :我为更广泛的“观众”标记了wpf,尽管我正在寻找适用于windows-runtime应用的答案,但我会抓住机会......
答案 0 :(得分:0)
我无法通过ProfilePicture控件找到任何方法。相反,我现在在XAML中使用Image
,可以确定何时将使用ImageOpened
事件呈现图像。
首先,我使用Graph Search API
获取图片的网址字符串:
https://graph.facebook.com/me/picture?redirect=false&width=320&height=320
完整的方法如下所示:
public static async Task<string> GetProfilePictureUrlAsync()
{
dynamic jsonData = await _facebookClient.GetTaskAsync("https://graph.facebook.com/me/picture?redirect=false&width=320&height=320");
JObject result = JObject.Parse(jsonData.ToString());
var array = new JArray(result["data"]);
return (string) array[0].SelectToken("url");
}
然后我创建一个URI
并将其分配给图像控件:
ProfileImage.Source = new BitmapImage(new Uri(await FacebookUtility.GetProfilePictureUrlAsync(), UriKind.Absolute));
(ProfileImage
是我在XAML中拥有的控件的名称)
希望这有助于其他可能遇到此问题的人:)