ScreenToGif 代码分析

ScreenToGif项目由四个文件夹组成:

  1. Files 存放协议文件
  2. GifRecorder 存放gif编码器代码
  3. ScreenToGif 存放主代码
  4. Other 存放HooktestTranslator的代码

问题1:GifRecorder 和ScreenToGif、Hooktest、Translator 下面都有了一个Properties,里面有个AssemblyInfo.cs是什么东西?

.net工程的Properties文件夹下自动生成一个名为AssemblyInfo.cs的文件,一般情况下我们很少直接改动该文件。但我们实际上通过另一个形式操作该文件。那就是通过在鼠标右键点击项目的属性进入应用程序”->“程序集信息,然后修改信息。

程序集指的是DLL或者EXE等可执行文件。

问题2:启动界面分析

 

 

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        xmlns:n="clr-namespace:ScreenToGif.Controls"

        xmlns:u="clr-namespace:ScreenToGif.Util"

        Title="{DynamicResource Title.StartUp}" Height="220" Width="500" Icon="/Resources/Logo.ico" WindowStartupLocation="CenterScreen"

        MinWidth="500" MinHeight="220" UseLayoutRounding="True" Loaded="Startup_OnLoaded">

 

    

        

        

        

        

        

        

            

            

        

 

        

               

                

                

                

                

            

 

            

 

            

 

            

                

                    

                

            

 

 

            

                           Margin="5" Style="{StaticResource Style.Button.Horizontal}" Effect="{StaticResource Shadow.Black.Small}"

                           Padding="2" MaxSize="25" Command="u:Commands.Options"/>

        

 

        

            

                

                

                

                

            

 

            

                           Effect="{StaticResource Shadow.Black.Tiny}" MaxSize="36" Content="{StaticResource Vector.Record.New}"

                           Command="u:Commands.NewRecording" Style="{StaticResource Style.Button.Vertical.Border}" FontSize="13">

                

                    

                                              MaxWidth="250" Placement="Bottom" HorizontalOffset="-5"/>

                

            

 

            

                           Effect="{StaticResource Shadow.Black.Tiny}" MaxSize="36" Content="{StaticResource Vector.Camera.New}"

                           Command="u:Commands.NewWebcamRecording" Style="{StaticResource Style.Button.Vertical.Border}" FontSize="13">

                

                    

                

            

 

            

                           Effect="{StaticResource Shadow.Black.Tiny}" MaxSize="36" Content="{StaticResource Vector.Board.New}"

                           Command="u:Commands.NewBoardRecording" Style="{StaticResource Style.Button.Vertical.Border}" FontSize="13">

                

                    

                

            

 

            

                           Effect="{StaticResource Shadow.Black.Tiny}" MaxSize="35" Content="{StaticResource Vector.Editor}"

                           Command="u:Commands.Editor" Style="{StaticResource Style.Button.Vertical.Border}" FontSize="13">

                

                       

                

   我是一个资源

  

这一行的ResourceKey=可以不写-->

这是在xaml中引用,如何在程序中引用呢?

string text = (string) this.FindResource(“str”)//资源中的文件要自己来进行格式转换

使用标签引用和程序中的FindResource引用会在当前控件的Resource属性中查找,如果找不到,就会找上一级的。

如果得知就是引用当前的,可以使用string text = (string) this.Resources[“str”]

将资源程序写到外部文件,如何在程序中引用?

静态资源和动态资源中的静态和动态不是描述资源的,描述控件行为的,也说明改资源项是否可以被外部改写(类似xml的改写),只载入一次,之后永远不变,还是可以动态的变化。

对于动态资源可以使用this.Resoures[“res2”]=new TextBlock(){text=”我要改变了”} ,静态资源不理会对资源的重新赋值

你可能感兴趣的:(ScreenToGif 代码分析)