热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

XAMLWPF自定义控件库未在外部项目中显示嵌入式图像

我正在发布此问题,并将答复,因为在SO上缺少对此问题的有效解决方案。

我正在发布此问题,并将答复,因为在SO上缺少对此问题的有效解决方案。

问题是当您创建使用图像的自定义控件或外部库时,图像可能不会显示在使用该库的程序中。

在我的特定情况下,我具有使用自定义控件基类的用户控件。

由于某种原因,图像会出现在用户控件的设计视图和外部程序的设计窗口中。但是,在运行时它将不会在外部程序窗口中显示图像。

我从SO的其他解决方案中尝试了以下所有方法:


  • 在DP的xaml中使用pack://,命令(在设计视图中有效)

  • 引用外部程序中的各个xaml文件(从OO和SOLID的角度来看,这是一个坏主意)

  • 在URI字符串之前使用../(在设计视图中有效)

  • 使用EmbeddedResource构建图片

  • 创建一个转换器来处理字符串(不必要的操作,这会给系统增加额外的垃圾,而且效果也不佳)

  • 在自定义控件上创建额外的依赖项属性(从绑定的角度来看,这是一个混乱的主意)

  • 使用assembly;component/[folder name]/[image name] (在设计视图中有效)

  • 使用[folder name/image name] (在设计视图中有效)

  • 更改assemblyinfo.cs文件和自定义类的静态构造函数以包含Generic.xaml文件。



所以某些答案是如此接近,我才发现它,是因为我开始使用 Snoop WPF ,请在此处获取:Snoop @Github (我与他们无关无论如何,我只是发现了它)

我可以使用该程序深入到程序中,并找到正在发生的错误,URI字符串似乎在解释中存在问题。这排除了上面列表中的一堆东西。

最终,我通过搜索特定错误在The MSDN forums上找到了答案,
您必须使用:/[assembly];component/[folder name]/[image name],请注意,字符串的开头是/,这是我的唯一尝试之一。

即使在程序集不起作用之前,也要在/中使用字符串中的pack命令。

因此,对于名为 myLibrary 的图书馆项目,名为 MyControl 的自定义控件,名为 resources 的图像文件夹以及名为的图像该文件夹中的> myTestImage.png 。自定义控件的调用为:




推荐阅读
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 配置PHPStudy环境并使用DVWA进行Web安全测试
    本文详细介绍了如何在PHPStudy环境下配置DVWA( Damn Vulnerable Web Application ),并利用该平台进行SQL注入和XSS攻击的练习。通过此过程,读者可以熟悉常见的Web漏洞及其利用方法。 ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 本文介绍如何在 Visual Studio Code 中使用 Jupyter Notebook 插件,包括创建、编辑和运行笔记本的基本操作。 ... [详细]
  • Google排名优化-面向Google(Search Engine Friendly)的URL设计 ... [详细]
  • Spring Cloud Config 使用 Vault 作为配置存储
    本文探讨了如何在Spring Cloud Config中集成HashiCorp Vault作为配置存储解决方案,基于Spring Cloud Hoxton.RELEASE及Spring Boot 2.2.1.RELEASE版本。文章还提供了详细的配置示例和实践建议。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • 本文详细介绍了 phpMyAdmin 的安装与配置方法,适用于多个版本的 phpMyAdmin。通过本教程,您将掌握从下载到部署的完整流程,并了解如何根据不同的环境进行必要的配置调整。 ... [详细]
  • 本文探讨了仅对图像文件的内容进行加密的方法,而不加密整个文件。通过这种方式,可以保护图像中的敏感信息,同时保持文件的其他部分不受影响。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 本文将详细讲解在WordPress平台中添加多媒体文件的方法。WordPress支持多种媒体类型,如视频、音频和图像等。通过以下步骤,您可以轻松地将这些文件上传到您的网站。 ... [详细]
  • 如何使用 CleanMyMac X 2023 激活码解锁完整功能
    本文详细介绍了如何使用 CleanMyMac X 2023 激活码解锁软件的全部功能,并提供了一些优化和清理 Mac 系统的专业建议。 ... [详细]
  • MongoDB的核心特性与架构解析
    本文深入探讨了MongoDB的核心特性,包括其强大的查询语言、灵活的文档模型以及高效的索引机制。此外,还详细介绍了MongoDB的体系结构,解释了其文档、集合和数据库的层次关系,并对比了MongoDB与传统关系型数据库(如MySQL)的逻辑结构。 ... [详细]
  • 本文探讨了如何利用HTML5和JavaScript在浏览器中进行本地文件的读取和写入操作,并介绍了获取本地文件路径的方法。HTML5提供了一系列API,使得这些操作变得更加简便和安全。 ... [详细]
  • Java 架构:深入理解 JDK 动态代理机制
    代理模式是 Java 中常用的设计模式之一,其核心在于代理类与委托类共享相同的接口。代理类主要用于为委托类提供预处理、过滤、转发及后处理等功能,以增强或改变原有功能的行为。 ... [详细]
author-avatar
凌晨
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有