[VSX.004]起始页(StartPage)[原创][更新了]
以独立模式(Isolated)创建的项目,默认是没有起始页的.你需要做以下工作来找回起始页.
1.在Applicationcommands.vsct中注释No_ShellPkg_startPageCommand,来启用View菜单下的StartPage菜单
<!--<Define name="No_ShellPkg_StartPageCommand"/>-->
2.在SolutionName.Application.pkgdef文件中(在项目同名项目中Shell Customization目录下),将
"DisableStartPage"=dword:00000000
以及
[$RootKey$\StartPage\Default]
"Uri"="$RootFolder$\StartPage.xaml"
取消注释启用
其中第二块,如果不启用的话,会有一个默认的起始页,有打开,新建,历史项目等条目,或许无法自定义.所以为了更好地展示,应该启用这一项并且自定义起始页
3.创建自定义的起始页
下载安装Start Page project template,并创建一个新项目,里面会包含StartPage.xaml
你可以编辑这个xaml文件来实现自定义.
如果是Isolated独立模式,还需要将SatrtPage项目的输出路径改为Isolated项目输出的主路径(即"Uri"="$RootFolder$\StartPage.xaml" 指向的文件)
注:因为StartPage项目只是要输出StartPage.xaml,不能被其他项目引用,我不知道有没有更好的方法来做到不需要设置输出路径
4.Isolated 模式下的Start Page 的Recent Project存在一个bug,不能打开非.sln为扩展名的历史项目.
根据Grey Van Liew的说法,这是因为微软在开发的时候将.sln写死到了程序里面.所以这一块不能识别飞.sln为结尾的历史项目
解决的方案:
大概的思路就是,自定义一个MruListBox,来重新写点击历史项目,打开的方法.
上面的文章很详细,按着做就能解决.
感谢Grey提供的解决方案.