我希望我能够使用大量图片来说明问题。首先,我不是XAML的真正粉丝(Silverlight问题,在预览中崩溃,等等......)
现在,随着VS2010的出现,情况变得更好了。在代码中我还有很多比较喜欢的东西,但我也希望在我的VS中进行预览。
所以,看看下面的控件:它非常简单,一个待办事项详情列表。第一个屏幕截图显示了控件的代码,非常简单:
CodebasedControl http://img28.imageshack.us/img28/2263/invoicea49.png
没有XAML,所以显然没有预览。当然,我可以将其封装在另一个控件中,如下一个屏幕截图所示:
CodebasedControl http://img11.imageshack.us/img11/9515/invoicea48.png
但是,在这种情况下,我有一个我不想要或不需要的额外文件。 所以我有想法将init内容移动到XAML控件的构造函数中。为简单起见,我使用了简单的元素。但它们没有出现在预览中......
CodebasedControl http://img99.imageshack.us/img99/5547/invoicea47.png
CodebasedControl http://img512.imageshack.us/img512/9625/invoicea46.png
最后,我知道在创建UI时我可以在应用程序的其他部分使用控件。但我正在使用布局管理器,PRISM和许多其他东西,所以我只想简单预览我创建的一些特定控件(不必为每个控件都有一个XAML包装文件)
感谢您的帮助,对于帖子结构感到抱歉,但我对图片感觉更好...
克里斯
答案 0 :(得分:1)
确定,
我发现了一种方法。基本上我通过更改XAML来欺骗VS,但保持代码隐藏链接到文件。它与包装器解决方案相同,但没有专用的额外类或文件。我正在使用“xaml-infront”文件进行预览。此解决方案仅适用于纯代码控件,我必须对混合控件进行更多研究(至少我是这么认为的......但现在对我来说已经足够了。)
请注意,背后的代码不再是部分代码。它可以放在其他任何地方,我在这里做的基本上只与文件名和视觉工作室“可读性”有关..
请参阅屏幕截图以获取解释:
alt text http://img15.imageshack.us/img15/5456/invoicea50.png
更容易阅读的空间
alt text http://img186.imageshack.us/img186/1545/invoicea51.png