C# Windows.System.User.GetPictureAsync返回通用灰色用户图像

C# Windows.System.User.GetPictureAsync返回通用灰色用户图像,c#,uwp,C#,Uwp,在我的UWP项目中,我想在中显示当前登录用户的图片 我认为: <Image x:Name="picUser"></Image> 调试时,streamReference确实不是空的,但是图像显示了一个通用的灰色用户图标,但是我确保设置了用户的图像 我的目标是显示该图像,而不是占位符。是否findalsync能够返回多个结果?这个名字当然表明了这一点,那么您如何知道FirstOrDefault返回的是正确的值呢?我建议在那里深入挖掘(获取所有用户并调查各种属性以查看返回的帐

在我的UWP项目中,我想在
中显示当前登录用户的图片

我认为:

<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;
    }
}