【问题标题】:adding visual studio XAML Intellisense to non-wpf classes将 Visual Studio XAML Intellisense 添加到非 wpf 类
【发布时间】:2012-07-09 14:56:42
【问题描述】:
我在 c# 中有“类似 DOM”的数据结构(父节点、子节点、属性、枚举...),我想使用 xml\xaml 文件进行一些初始化。我已经编写了一个工具,可以将我的 xaml 转换为 c# 并将它们注入到正确的位置。
我想要 WPF 的确切 Intellisense 行为,除了我的类不继承自 WPF 基类和我的项目在库上的非 wpf 应用程序中并且不引用 wpf 程序集。我也不想使用 xsd 架构,因为添加和编辑类非常频繁。
我正在使用 Visual Studio 2010
有可能吗?
【问题讨论】:
标签:
visual-studio
xaml
intellisense
【解决方案1】:
创建一个 xaml(首先创建一个资源字典并删除内容)。
添加您自己的程序集作为默认命名空间并开始使用您的类型。我最近为样本数据创建了一个测试,如下所示:
<MainViewModel xmlns="clr-namespace:MvvmTest.ViewModels.DesignTime"
Name="The design time main view model">
<MainViewModel.SubViewModels>
<FirstSubViewModel Name="The design time first sub-view model" />
<SecondSubViewModel Name="The design time second sub-view model" />
</MainViewModel.SubViewModels>
</MainViewModel>
您可以使用XamlReader 类加载文件。与 xml 相比,作为奖励,文件将被编译并且运行时加载会更快。