我想在 XAML 中编写POCO,并使用 DataTemplate 在运行时在 GUI 中显示该对象。到目前为止,一切都很好; 我知道该怎么做。
由于我已经有一个可以将我的 POCO 转换为 WPF 可视化树的 DataTemplate,有没有办法让 Visual Studio 设计器一起玩,并让设计视图在我编辑时向我显示 POCO+DataTemplate 的结果 GUI POCO 的 XAML?(显然设计师不知道如何编辑“设计视图”;我不希望工具箱或单击并拖动在设计表面上工作。这很好 - 我只想看到预览,因为我编辑。)
如果您好奇,所讨论的 POCO 将是游戏的关卡地图。(此时,我不打算发布最终用户地图编辑器,因此我将在 Visual Studio 中自己进行所有编辑。)所以 XAML 不是像 Window 和 UserControl 这样的 WPF GUI 对象,但它是仍然不是我想盲目地敲出一些 XAML 并希望最好的东西。我想看看我在做什么(GUI 地图)。
如果我尝试创建一个根是我的地图对象的 XAML 文件,设计器会显示“故意留空 - 可视化设计器不支持文档根元素”。即使我在 App.xaml 中定义了 DataTemplate,它也会这样做<Application.Resources>
。
但我知道设计师可以在我的 POCO 位于 WPF 对象中时展示它。实现我想要的一种可能的方法是拥有一个仅包含 ContentPresenter 的 ScratchUserControl,并在该 ContentPresenter 的 Content 属性中编写我的 POCO XAML,例如:
<UserControl ...>
<ContentPresenter>
<ContentPresenter.Content>
<Maps:Map .../>
</ContentPresenter.Content>
</ContentPresenter>
</UserControl>
但是当我完成编辑时,我必须确保将内容复制回自己的文件中,这看起来很乏味且容易出错,而且我不喜欢乏味且容易出错。既然我可以通过这种方式预览我的 XAML,那么没有 UserControl 就没有办法吗?