Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 本地文件夹中的UWP绑定映像_C#_Xaml_Uwp - Fatal编程技术网

C# 本地文件夹中的UWP绑定映像

C# 本地文件夹中的UWP绑定映像,c#,xaml,uwp,C#,Xaml,Uwp,我的应用程序使用相机拍摄照片,并将其保存为C:\Users…\Pictures\file.PNG。我有一个字符串为“C:\Users\…\Pictures\file.PNG”的对象,并将绑定设置为该字符串,但它不会加载图像。如果我将图像放置到Assets,并将字符串设置为“Assets\file.png”,则可以正常工作。是否可以在资产之外绑定?首先,您需要意识到,您没有访问文件系统的权限,例如在Win32应用程序中。因此,UWP应用程序中的完整路径不再相关。请看一下这个和 我假设您正在使用Im

我的应用程序使用相机拍摄照片,并将其保存为C:\Users…\Pictures\file.PNG。我有一个字符串为“C:\Users\…\Pictures\file.PNG”的对象,并将绑定设置为该字符串,但它不会加载图像。如果我将图像放置到Assets,并将字符串设置为“Assets\file.png”,则可以正常工作。是否可以在资产之外绑定?

首先,您需要意识到,您没有访问文件系统的权限,例如在Win32应用程序中。因此,UWP应用程序中的完整路径不再相关。请看一下这个和

我假设您正在使用
Image
控件来显示图像。比如:

MainPage.xaml


当您了解UWP中的文件访问概念文件时,您可以仔细查看内置的。还有一个示例,说明如何直接访问捕获的图像,而不必与文件名发生冲突。

首先,您需要意识到,在Win32应用程序中,您无权访问文件系统。因此,UWP应用程序中的完整路径不再相关。请看一下这个和

我假设您正在使用
Image
控件来显示图像。比如:

MainPage.xaml


当您了解UWP中的文件访问概念文件时,您可以仔细查看内置的。还有一个例子是如何直接访问捕获的图像而不必与文件名发生冲突。

您使用什么样的UI控件来显示图像?您可以将源代码直接绑定到某些位图图像,但我建议您首先仔细了解如何在UWP中处理文件以及相机如何工作(在下面的回答中)然后您可以详细介绍绑定。我并不是说你想做的事情是不可能的(当然可能),而是一步一步来。你用什么样的UI控件来显示图像?你可以直接将源代码绑定到一些位图图像,但我建议你首先仔细看看如何在UWP中处理文件以及相机是如何工作的(在我下面的回答中)然后您可以详细介绍绑定。我并不是说你想做的事情是不可能的(肯定是可能的),而是一步一步地去做。
<Page
    x:Class="App1.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App1"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Loaded="MainPage_OnLoaded">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Image Name="Img1" />
    </Grid>
</Page>
    private async void MainPage_OnLoaded(object sender, RoutedEventArgs e)
    {
        var file = await Windows.Storage.KnownFolders.CameraRoll.GetFileAsync("p1.png");
        using (var imgStream = await file.OpenStreamForReadAsync())
        {
            var bitmapImg = new BitmapImage();
            bitmapImg.SetSource(imgStream.AsRandomAccessStream());
            Img1.Height = bitmapImg.PixelHeight; //Need to take care of proper image-scaling here
            Img1.Width = bitmapImg.PixelWidth;  //Need to take care of proper image-scaling here
            Img1.Source = bitmapImg;
        }
    }