zoukankan      html  css  js  c++  java
  • WPF-资源-二进制资源

    二进制资源可以用3种不同的的方式进行打包:

    1. 嵌入程序集。
    2. 在编译时应用程序已知的松散文件。
    3. 在编译时应用程序不知道的松散文件。

    定义二进制资源

      设定文件的生成操作

    • Resource

        将资源放入程序集中。

    • Content

        将资源作为一个松散文件,但向程序集种添加一个定制特性,该程序集将记录文件是否存在及其相对位置。

    注意:

    不要使用嵌入式资源(Embedded Resource)

    XAML引用资源只支持Resource和Content。不支持嵌入式资源

    访问二进制资源

    通过统一资源标识符(URI)从代码或者XAML访问这些资源文件。

    <StackPanel>
            <Button ToolTip="ContentResource">
                <Image Height="20" Width="20" Source="./Resource/Content.png"></Image>
            </Button>
            <Button ToolTip="Resource">
                <Image Height="20" Width="20" Source="./Resource/new.jpg"></Image>
            </Button>
        </StackPanel>

    注意:已编译的Xaml不能通过简单的文件名引用当前目录下的二进制资源,除非把这个资源加到项目中。

    如果资源没有在项目中。项目中的XAML文件不能引用到这些文件。

    使用特殊语法访问不在项目中的文件。把文件直接靠别到Debug文件夹下,调试程序可以引用到这个不在项目中的文件。

    <Button ToolTip="Resource">
                <Image Height="20" Width="20" Source="pack://siteOfOrigin:,,,/Content.png"></Image>
            </Button>

    特殊语法的含义是:在程序部署的位置访问资源。

    常见资源URI

    /log.jpg Resource或Content
    /b/log.jpg  
    /c:/log.jpg 松散文件,绝对路径
    file://c:/log.jpg 松散文件,绝对路径
    \pc1log.jpg 共享路径
    http://aaa.net/log.jpg 网址文件
    /Dll;Component/log.jpg 另一个程序集,Resource生成
    /Dll;Component/b/log.jpg 同上
    pack://siteOfOrigin:,,,/log.jpg 松散文件,部署位置找文件

    表中所有的引用都隐式使用了“pack://application;,,,”;不在项目中的文件要使用“siteOfOrigin”

  • 相关阅读:
    C#在winform上实现关于treeview与listview结合项目应用
    C#自学总结_Day2
    Base64 替换 BASE64Encoder
    MySql添加用户
    C#多线程服务,控制最大线程并发和最小线程并发
    C#/.net 移除URL上指定的参数,不区分参数大小写
    C#.NET根据数据库中0,1返回对应代表含义“男”,“女”等问题
    d3 学习记录-----network实现
    c#判断串口是否断开,并自动重连
    winform Anchor和Dock属性
  • 原文地址:https://www.cnblogs.com/snake1118/p/12859435.html
Copyright © 2011-2022 走看看