【问题标题】:What do image source paths mean in xaml?xaml 中的图像源路径是什么意思?
【发布时间】:2017-04-07 22:04:06
【问题描述】:

我正在查看我正在 Visual Studio 中处理的项目的源代码,但 WPF 窗口 XAML 中的路径看起来很奇怪。例如,窗口元素的图标成员如下所示:Icon="/ProjectName;component/icons/ProjectName.ico"

首先,分号是什么意思?这是否表明两条可能的路径?这没有意义。

我猜ProjectName;component 代表一个路径,因为我的项目中没有component 文件夹。在我的项目文件夹中,icons/ProjectName.ico 是图标所在的位置。

这是什么意思?

【问题讨论】:

    标签: wpf xaml path window icons


    【解决方案1】:

    这是一个Resource File Pack URI,没有前缀pack://application:,,,,它是由XAML Parser 自动添加的。

    完整的包 URI 将是

    pack://application:,,,/ProjectName;component/icons/ProjectName.ico
    

    并且会在引用的程序集ProjectNameicons 子文件夹中引用名为ProjectName.ico 的资源文件。 ;component 部分将程序集名称与文件路径分开。

    如果资源文件在本地程序集中,则可以省略引用的程序集部分,并编写

    pack://application:,,,/icons/ProjectName.ico
    

    或仅在 XAML 中

    /icons/ProjectName.ico
    

    【讨论】:

    • 谢谢。这是一个相当庞大的 MSDN 页面。我不知道 Pack URI。是否有任何令人信服的理由不使用 /icons/ProjectName.ico
    • 不,你应该只写简短的版本。
    • 你能推测一下为什么可能会使用更长的版本吗?会不会是自动生成的?
    • 不知道,抱歉。除非您明确引用不同程序集中的资源,否则长版本对我来说毫无意义。
    【解决方案2】:

    该 URI 表示图像文件作为内容包含在您的项目中。 “ProjectName”是您的项目名称。

    【讨论】:

    • 资源,而不是内容。内容文件包 URI 不能包含程序集名称部分。
    猜你喜欢
    • 2022-09-28
    • 1970-01-01
    • 2012-03-12
    • 2023-04-06
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多