我想在App.XAML中定義Datatemplate,然後將其共享給我需要使用此項目模板的任何頁面。我不知道該怎麼辦UWP如何在App.XAML中定義DataTemplate
4
A
回答
10
這取決於您想要使用的綁定類型。
如果您使用標準XAML結合,一切都是一樣WPF:
定義模板
Application.Resources
:<Application.Resources> <DataTemplate x:Key="Template1"> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding Prop1}" /> <TextBox Text="{Binding Prop2}" /> </StackPanel> </DataTemplate> </Application.Resources>
參考模板頁面:
<ListView ItemsSource="{Binding Items}" ItemTemplate="{StaticResource Template1}" />
如果您使用編譯{x:bind}
結合,你需要在一個單獨的資源字典背後在生成的代碼將最終代碼來定義模板:
創建一個新的部分對於資源Dictionary類:
public partial class DataTemplates { public DataTemplates() { InitializeComponent(); } }
創建基於與數據模板這部分類資源字典:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:MyNamespace" x:Class="MyNamespace.DataTemplates"> <DataTemplate x:Key="Template2" x:DataType="local:MyClass"> <StackPanel Orientation="Horizontal"> <TextBlock Text="{x:Bind Prop1}" /> <TextBox Text="{x:Bind Prop2}" /> </StackPanel> </DataTemplate> </ResourceDictionary>
合併資源字典爲
Application.Resources
:<Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <local:DataTemplates/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources>
最後使用的模板頁面:
<ListView ItemsSource="{Binding Items}" ItemTemplate="{StaticResource Template2}" />
您可以檢查Igor's blog post瞭解更多詳情。自發布後的預覽以來,沒有任何重大變化。
+0
非常感謝+1 –
相關問題
- 1. 從DataTemplate UWP綁定UserControl DP
- 2. 如何在代碼中定義DataTemplate?
- 3. 在app.xaml中定義SVG圖標
- 4. 如何在UWP庫中定義主題?
- 5. UWP,App.xaml中:覆蓋默認刷
- 6. 列在UWP DataTemplate不拉伸
- 7. 如何在App.xaml中設置全局自定義字體
- 8. 如何將TextBlock綁定到app.xaml中定義的ObjectDataProvider資源?
- 9. UWP將ListView的項綁定爲UserControl DataTemplate
- 10. C#UWP GridView DataTemplate綁定問題
- 11. app.xaml中的datatemplate沒有被拾取而沒有任何樣式?
- 12. 如何訪問OnLaunched中App.xaml中定義的資源?
- 13. 在App.xaml中聲明WPF隱含的DataTemplate不會生效
- 14. 如何在winrt UWP中使用DataTemplate添加多個樞軸?
- 15. 如何在UWP XAML資源中自引用DataTemplate?
- 16. 如何使用App.xaml資源中定義的Popup?
- 17. 如何使用圖標作爲App.xaml中的模板定義MenuItems
- 18. 裏面一個DataTemplate UWP
- 19. 自定義TabItem DataTemplate
- 20. 在XAML中定義的DataTemplate爲空VisualTree
- 21. 訪問在DataTemplate中定義的StackPanel
- 22. UWP DataContext從DataTempalte到DataTemplate中的UserControl
- 23. WPF - 如何獲取在DataTemplate中定義的ComboBox的SelectedIndex?
- 24. 如何在DataTemplate中綁定DataGrid.SelectedItem
- 25. 如何從UWP C#中的ContentPresenter DataTemplate獲取MapControl?
- 26. 在App.xaml中
- 27. 在App.xaml中
- 28. 綁定DataTemplate中的自定義控件
- 29. 如何從樣式中定義的DataTemplate綁定到TemplatedParent?
- 30. 如果在UWP中選擇,更改ListBox項的DataTemplate
如何在普通頁面中執行此操作,可以顯示一些代碼嗎?你有沒有試圖在* Application.Resources *中提到的文件中做到這一點? – Romasz