2013-04-10 64 views
13

有没有办法在DataTemplate中预览GUI?例如如果我有资源字典,包含一个DataTemplate,数据模板包含GUI代码,就像Visual Studio中的ResourceDictionary中的DataTemplate的设计视图

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

我可以只查看StackPanel的? (如在设计视图中预览UserControl)。如果原始VS不可能,那么是否有插件?

+3

Expression Blend可以做到这一点。但我没有意识到Visual Studio的任何可视化DataTemplate的工具 – Jehof 2013-04-10 10:07:59

+1

除非您想将StackPanel复制到空白UserControl并使用VS设计视图编辑器,编辑并复制回DataTemplate,否则应该使用Expression Blend正如@Jehof所说。当我不喜欢使用Blend时,我在某些场合自己做了这个。 – Hannish 2013-12-12 02:04:54

+0

对于像我这样不喜欢使用Expression Blend的人来说,这将是Visual Studio 2013的一个很好的功能。另一种方法是创建一个单独的包含DataTemplate的XAML文件(您不必创建UserControl),然后将您的XAML文件链接到您的ResourceDictionary中。 – 2014-07-22 13:01:16

回答

14

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

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

特别是,如果你想编辑位于ResourceDictionary中你将一个DataTemplate:

  • 负载在Blend项目
  • 找到包含的ResourceDictionary在资源面板的.xaml文件(对接右默认情况下)
  • 找到DataTem板资源列表(由Key)
  • 点击编辑资源

我知道这一个老问题,但我希望这有助于!

+0

这对于针对Windows 10 Fall Creators更新以及可能更早版本的项目不起作用 – binaryfunt 2018-02-27 20:09:00

0

如果您在控件的主体中引用模板,例如ItemTemplate =“{StaticResource MyTemplate}”,则可以将光标放在模板的名称上,然后按F12让Visual Studio将模板渲染到XAML设计师。出于某种原因,这只能工作一次。您必须关闭并重新打开表单才能看到另一个呈现的模板。当然有一些方法可以避免这种情况,但我一直无法弄清楚。

相关问题