Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.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# 如何显示资产文件夹中的XAML格式图像?_C#_Xaml_Xamarin_Uwp Xaml - Fatal编程技术网

C# 如何显示资产文件夹中的XAML格式图像?

C# 如何显示资产文件夹中的XAML格式图像?,c#,xaml,xamarin,uwp-xaml,C#,Xaml,Xamarin,Uwp Xaml,我正在尝试显示XAML格式的图像。该图像位于“我的资产”文件夹中,生成操作设置为“内容” 我想检索图像,但我尝试的所有操作都失败了,包括ContentControl、按钮和图像。它不显示图像,而是将图像的路径名显示为文本 <ContentControl Content="Assets/Logos/ups.xaml" Width="100" Height="100"/> 我不确定你能做到这一点。Xaml必须作为组件/可视化树加载 调查 也许您可以创建自己的自定义控件来读取Uri源

我正在尝试显示XAML格式的图像。该图像位于“我的资产”文件夹中,生成操作设置为“内容”

我想检索图像,但我尝试的所有操作都失败了,包括ContentControl、按钮和图像。它不显示图像,而是将图像的路径名显示为文本

  <ContentControl Content="Assets/Logos/ups.xaml" Width="100" Height="100"/>

我不确定你能做到这一点。Xaml必须作为组件/可视化树加载

调查

也许您可以创建自己的自定义控件来读取
Uri
源代码并处理内容。或者也许有人已经创造了这样的控制

<MyCustomXamlControl Source="Assets/Logos/ups.xaml" Width="100" Height="100"/>

注意:我还没有测试上述内容。这只是我整理的一个快速示例,请不要判断质量:)试着摆弄一下如何将文件加载到
string
并将其交给
XamlReader

你在什么平台上?我正在使用UWP,稍后将移植到Xamarin。我对显示本机格式所需的努力感到惊讶。我希望至少有一个适配器可以分配给读取XML的源:为什么您感到惊讶?这是Microsoft。您可以创建
UserControl
,而不是独立的XAML文件。当它被实例化时,它做同样的事情。构造函数调用
InitializeComponent()
,它使用
XamlReader
加载XAML。我想是静态的。在UWP示例中,MS可以使用XAML而不是PNG作为启动屏幕和徽标屏幕。它将展示如何使用单个图像以更少的空间创建多个大小。XAML允许您输入展平图像范围之外的各种元素。表单元素,如
文本框
组合框
,当您提供带有用户输入的启动屏幕时,操作系统应该做什么?
private async void OnSourceChanged(Uri source)
{
    var file = await StorageFile.GetFileFromApplicationUriAsync(source);

    string xaml;

    using (var stream = await file.OpenReadAsync())
    using (var reader = new StreamReader(stream.AsStream()))
    {
        xaml = reader.ReadToEnd();
    }

    this.Content = XamlReader.Load(xaml);
}