C# Windows.System.User.GetPictureAsync返回通用灰色用户图像
在我的UWP项目中,我想在C# Windows.System.User.GetPictureAsync返回通用灰色用户图像,c#,uwp,C#,Uwp,在我的UWP项目中,我想在中显示当前登录用户的图片 我认为: <Image x:Name="picUser"></Image> 调试时,streamReference确实不是空的,但是图像显示了一个通用的灰色用户图标,但是我确保设置了用户的图像 我的目标是显示该图像,而不是占位符。是否findalsync能够返回多个结果?这个名字当然表明了这一点,那么您如何知道FirstOrDefault返回的是正确的值呢?我建议在那里深入挖掘(获取所有用户并调查各种属性以查看返回的帐
中显示当前登录用户的图片
我认为:
<Image x:Name="picUser"></Image>
调试时,streamReference确实不是空的,但是图像显示了一个通用的灰色用户图标,但是我确保设置了用户的图像
我的目标是显示该图像,而不是占位符。是否
findalsync
能够返回多个结果?这个名字当然表明了这一点,那么您如何知道FirstOrDefault
返回的是正确的值呢?我建议在那里深入挖掘(获取所有用户并调查各种属性以查看返回的帐户)。事实上,它能够返回多个结果,但我确信用户变量的内容是我的本地用户的。即使在今天,我也遇到了这个问题。当我缩小集合中的用户范围后,图像仍然作为默认图像返回。findalsync
是否能够返回多个结果?这个名字当然表明了这一点,那么您如何知道FirstOrDefault
返回的是正确的值呢?我建议在那里深入挖掘(获取所有用户并调查各种属性以查看返回的帐户)。事实上,它能够返回多个结果,但我确信用户变量的内容是我的本地用户的。即使在今天,我也遇到了这个问题。当我缩小集合中的用户范围后,图像仍然作为默认图像返回。
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
var user = (await Windows.System.User.FindAllAsync(Windows.System.UserType.LocalUser, Windows.System.UserAuthenticationStatus.LocallyAuthenticated)).FirstOrDefault();
var streamReference = await user.GetPictureAsync(Windows.System.UserPictureSize.Size64x64);
if (streamReference != null)
{
Windows.Storage.Streams.IRandomAccessStream stream = await streamReference.OpenReadAsync();
var bitmapImage = new Windows.UI.Xaml.Media.Imaging.BitmapImage();
bitmapImage.SetSource(stream);
picUser.Source = bitmapImage;
}
}