现在的位置: 首页 > 综合 > 正文

[VSX.004]起始页(StartPage)[原创][更新了]

2012年08月28日 ⁄ 综合 ⁄ 共 991字 ⁄ 字号 评论关闭

以独立模式(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为结尾的历史项目

解决的方案:

http://social.msdn.microsoft.com/Forums/en-US/vsxprerelease/thread/9945247c-8d35-4dd4-8f83-b799013a7107

大概的思路就是,自定义一个MruListBox,来重新写点击历史项目,打开的方法.

上面的文章很详细,按着做就能解决.

感谢Grey提供的解决方案.

抱歉!评论已关闭.