如何自定义WPF项目的Main函数
  与Winform项目不同,WPF项目的Main函数在项目生成的时候,系统自动在后台为我们生成。根据项目生成方式的不同,其文件位于obj/Debug/App.g.cs或者obj/Release/App.g.cs。 
  那么,我们修改其中的Main函数,是否可以达到自定义Main函数的目的呢? 
  答案是否定的,因为该文件在项目每次生成的时候,都会被重新生成并覆盖。 
   
  那么,如何在WPF项目中自定义Main函数呢? 
   
  1.自定义静态类Program(名称随便取)类如下:
namespace BarCodeSystem
{
    public static class Program
    {
        /// <summary>
        /// Application Entry Point.
        /// </summary>
        [System.STAThreadAttribute()]
        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
        public static void Main()
        {
            /*
            ...
            这里可以写自己的代码!
            ...
            */
            BarCodeSystem.App app = new BarCodeSystem.App();//WPF项目的Application实例,用来启动WPF项目的
            app.InitializeComponent();
            app.Run();
        }
    }
}
  2.重新选择程序入口点: 
  重新生成项目,会报如下错误,说明自定义Main函数成功被识别: 
   
  接下来,右键项目->属性->应用程序->启动对象,选择自定义的Main函数作为程序的入口即可: 
   
  选择好之后,重新生成项目即可!
如何自定义WPF项目的Main函数的更多相关文章
- 如何为WPF添加Main()函数 程序入口点的修改
		
一般的.WPF的Main()函数是自动生成的,不过有时候我们需要为我们的应用程序传参.那么自动生成的Main()函数就不会满足我们的要求. 那么如何为WPF Application 设置Main()函 ...
 - WPF点滴(1) Main 函数
		
应用程序的入口函数是main函数,在Console程序和Winform程序main函数都有清晰的定义,可以很容易找到,但是WPF的工程文件中却找不到main函数的定义,是WPF不需要main函数吗?N ...
 - WPF应用程序启动的问题(自定义Main函数启动)
		
问题引入: 一般WPF创建之后可以直接运行并不需要编写Main函数指定入口,但是在开发的过程中会遇到一些情况需要自定义Main让WPF从指定的Main函数中进行启动,这样可能会更好控制一点.但是我们再 ...
 - WPF使用自定义Main函数
		
一.自定义Main函数 在WPF中,我们添加一个Program静态类,添加一个Main静态方法,需要注意的是该方法需要添加"STAThread",表示WPF程序需运行在单一线程单元 ...
 - WPF启动流程-自己手写Main函数
		
WPF一般默认提供一个MainWindow窗体,并在App.Xaml中使用StartupUri标记启动该窗体.以下通过手写实现WPF的启动. 首先先介绍一下VS默认提供的App.Xaml的结构,如下图 ...
 - WPF界面设计技巧(5)—自定义列表项呈现内容
		
原文:WPF界面设计技巧(5)-自定义列表项呈现内容 接续上次的程序,稍微改动一下原有样式,并添加一个数据模板,我们就可以达成下面这样的显示功能: 鼠标悬停于文件列表项上,会在工具提示中显示图像缩略图 ...
 - WPF界面设计技巧(4)—自定义列表项样式
		
原文:WPF界面设计技巧(4)-自定义列表项样式 有前面修改按钮样式的基础,我们可以尝试来定制一个即好看又好用的 ListBox ,今天先来讲“好看”部分. 打开 Microsoft Visual S ...
 - WPF 用Main函数方式启动程序
		
原文:WPF 用Main函数方式启动程序 WPF默认程序启动:新建project后自动生成的App.xaml中指定程序启动方式(StartupUri="MainWindow.xaml&quo ...
 - 【Go入门教程3】流程(if、goto、for、switch)和函数(多个返回值、变参、传值与传指针、defer、函数作为值/类型、Panic和Recover、main函数和init函数、import)
		
这小节我们要介绍Go里面的流程控制以及函数操作. 流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑.Go中流程控制分三大类:条件判断,循环控制和 ...
 
随机推荐
- [Recompose] Add Lifecycle Hooks to a Functional Stateless Component using Recompose
			
Learn how to use the 'lifecycle' higher-order component to conveniently use hooks without using a cl ...
 - 【Lucene4.8教程之四】分析                                        2014-06-22 10:51    1412人阅读    评论(0)    收藏
			
1.基础内容 (1)相关概念 分析(Analysis),在Lucene中指的是将域(Field)文本转换成最基本的索引表示单元--项(Term)的过程.在搜索过程中,这些项用于决定什么样的文档能够匹配 ...
 - Java NIO详细介绍
			
不错的文章,推荐一下. http://www.ibm.com/developerworks/cn/education/java/j-nio/j-nio.html JavaNIO非堵塞技术实际是采取Re ...
 - vs 外部依赖项、附加依赖项以及如何添加依赖项目
			
我们在 VS 中创建 Win32 控制台应用程序,vs 会为解决方案创建默认地创建 4 个 filters(资源管理器中没有对应的目录和文件夹): 头文件:一般为 .h 文件 外部依赖项 源文件:一般 ...
 - UItableview正在滚动的时候进行操作容易出问题
			
tableview正在滚动的时候进行其它点击事件操作容易出问题,有时候会出现莫名其妙的数组越界的bug, 解决方法:1.对objectatindex方法进行异常判断 2. [_tableview se ...
 - virtualenv对python
			
使用virtualenv对python进行多版本隔离 最近在用python做一个文本的情感分析的项目,用到tensorflow,需要用python3的版本,之前因为<机器学习实战>那本书的 ...
 - 谷歌 AI 中国中心成立,人工智能势不可挡?
			
昨日,谷歌在上海举办了一年一度的Google中国开发者大会.在本届大会上,谷歌云首席科学家李飞飞宣布了一个重磅消息,即在北京将成立谷歌AI中国中心.对于这个即将成立的AI中心谷歌寄予厚望,希望与中国本 ...
 - erlang---启动参数学习/研究
			
erlang启动参数有3种:emulator flags, flags 和plain arguments. emulator flags 是以“+”开头的,用来控制模拟器的行为,附送一个非常实用的例子 ...
 - 理解Java字符串常量池与intern()方法
			
String s1 = "Hello"; String s2 = "Hello"; String s3 = "Hel" + "lo ...
 - 使用Java Service Wrapper将java程序作为linux服务并且开机自动启动
			
以java应用程序为例,打包为tianlong.jar,程序入口为tianlong.QueueTest. 下面在linux的/opt下建立tianlong目录,复制tianlong.jar到/opt/ ...