【问题标题】:Design View of a DataTemplate in a ResourceDictionary in Visual StudioVisual Studio 中 ResourceDictionary 中 DataTemplate 的设计视图
【发布时间】:2013-04-10 09:52:14
【问题描述】:

有没有办法在 DataTemplate 中预览 GUI?例如如果我有一个包含 DataTemplate 的资源字典,并且 Data 模板包含 GUI 代码,例如

<DataTemplate x:Key="MyTemplate">
    <StackPanel>
        <TextBox Text="AAA"/>
    </StackPanel>
</DataTemplate>

我可以只查看堆栈面板吗? (例如在设计视图中预览 UserControl)。如果原始VS无法实现,是否有插件?

【问题讨论】:

  • Expression Blend 可以做到。但我不知道任何可视化 DataTemplate 的 Visual Studio 工具
  • 除非您想将 StackPanel 复制到空白 UserControl 并使用 VS 设计视图编辑器,编辑并复制回 DataTemplate,否则您应该使用 Expression Blend,如 @Jehof 所说。在我不想使用 Blend 的某些情况下,我自己也这样做了。
  • 对于像我这样不喜欢使用 Expression Blend 的人来说,这对于 Visual Studio 2013 来说是一个不错的功能。另一种方法是创建一个包含 DataTemplate 的单独 XAML 文件(您不必创建 UserControl),然后在 ResourceDictionary 中链接您的 XAML 文件。
  • @TheodoreZographos 具体如何做到这一点。这正是我正在寻找的

标签: .net wpf visual-studio-2010 xaml gui-designer


【解决方案1】:

Visual Studio 不支持这样做,但 Expression Blend 支持,如果您可以访问它的话。以下是有关编辑模板资源的几种方法的一些说明:

http://msdn.microsoft.com/en-us/library/cc294908(v=expression.40).aspx

特别是,如果您想编辑位于 ResourceDictionary 中的 DataTemplate,您可以:

  • 在 Blend 中加载项目
  • Resources 面板中找到包含 ResourceDictionary 的 .xaml 文件(默认停靠在右侧)
  • 在资源列表中找到 DataTemplate(按键)
  • 点击编辑资源

我知道这是一个老问题,但我希望这会有所帮助!

【讨论】:

  • 这不适用于面向 Windows 10 Fall Creators Update 以及可能更早版本的项目
【解决方案2】:

如果您在控件正文中向下引用模板,例如 ItemTemplate="{StaticResource MyTemplate}",您可以将光标放在模板名称上,然后按 F12 让 Visual Studio 在 XAML 设计器中呈现模板。

出于某种原因,这只能工作一次。您必须关闭并重新打开表单才能看到呈现的另一个模板。当然有一些方法可以避免这种情况,但我一直无法弄清楚。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-26
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多