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



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

我想检索图像,但我尝试的所有方法都失败了,包括内容控件,按钮和图像。它不显示图像,而是将图像的路径名显示为文本。

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

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

查看 XamlReader

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

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

代码如下所示:

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

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

最新更新