zoukankan      html  css  js  c++  java
  • Metro Style App开发快速入门 之资源操作

    Metro Style App 之资源操作

    运行环境请参考:Metro Style App之文件访问操作示例,下面介绍的是资源操作的一些体会。

    对资源的操作方式主要有以下几种:

    1、在Resources.resw文件中定义,然后通过x:Uid获取

    使用方式是在x:Uid与之对应,如

     <TextBlock x:Uid="WelcomeWorld" HorizontalAlignment="Left" Height="41" Margin="66,50,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Width="137"/>
    

     这样TextBlock显示的文本就是hello world!, TextBlock的宽度是100,当然可以自己调整.

    2、在文件中访问。如访问图片

      <Image  Source="Images/sample.png"  HorizontalAlignment="Left" Height="200" Width="200"  Stretch="UniformToFill" />
    

    3、使用ResourceLoader.GetString方法获得Resources.resw定义的资源。本例中resourceLoadBtn显示内容为Hello sting1.

     var resourceLoad = new ResourceLoader();
     resourceLoadBtn.Content = resourceLoad.GetString("string1");
    

     注意:此时string1默认保存在Resources.resw文件中,如果resw的文件名不是Resources.resw,则要进行如下操作,如:

            void anotherResourceBtn_Click(object sender, RoutedEventArgs e)
            {
                var resouceLoad = new ResourceLoader("AnotherResources");
                anotherResourceBtn.Content = resouceLoad.GetString("anotherString");
            }
    

     AnotherResources为AnotherResources.resw文件.

    4、在其它项目中获得所需的资源。新建一个AppResourcesLibrary类库,然后建一个Resources.resw文件。

    在Resources.resw文件中的定义如下:

    下面是调用的方法

            void AppResourceLibraryBtn_Click(object sender, RoutedEventArgs e)
            {
                var resourceloader = new ResourceLoader("AppResourcesLibrary/Resources");
                AppResourceLibraryBtn.Content = resourceloader.GetString("string1") + " from " + AppResourcesLibrary.LocalizedNamesLibrary.Libraryname;
            }
    

    AppResourcesLibrary.LocalizedNamesLibrary.Libraryname这个属性定义在 AppResourcesLibrary类库中的LocalizedNamesLibrary类,

    该类的定义如下:

        public static class LocalizedNamesLibrary
        {
            static ResourceLoader  resourceLoader = null;
    
            public static string LibraryName { 
                get 
                {
                    String name;
                    GetLibraryName("libraryname", out name);
                    return name;
                } 
            }
    
            private static void GetLibraryName(string resourceName, out string resourceValue)
            {
                if (resourceLoader == null)
                {
                    resourceLoader = new ResourceLoader("AppResourceClassLibrary/Resources");
                }
                resourceValue = resourceLoader.GetString(resourceName);
            }
    
        }
    

     该类的定义跟在同一个项目中资源的获取定义一样,此处不在介绍。

    总结:以上只是一些资源操作的基础知识,更详细的资料请参考Metro style app的sample。里面还有资源的管理等。

    以上只是自己的一点学习心得,如果有什么意见和建议,欢迎大家提出!当然自己还在学习研究中共同学习,一起进步!下一篇将介绍一些Metro app style的动画操作。

  • 相关阅读:
    sqlserver中压缩日志文件
    git命令的使用
    c#开发wps插件(3)部署
    c#开发wps插件(2)
    小王子
    唯一的!!!
    小王子
    MySql命令行修改密码
    MacOS下Lucene学习
    企业权限管理(SSM整合)(总结)
  • 原文地址:https://www.cnblogs.com/linlf03/p/2394357.html
Copyright © 2011-2022 走看看