2013-04-10 63 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設計師。出於某種原因,這隻能工作一次。您必須關閉並重新打開表單才能看到另一個呈現的模板。當然有一些方法可以避免這種情況,但我一直無法弄清楚。

相關問題