某些數據相依性控件,例如 ListView、ListBox和 DataGrid,很難在沒有數據的情況下可視化。 在本文中,我們將檢閱新的方法,讓使用 Windows Presentation Foundation (WPF) .NET Core 專案或 WPF .NET Framework 專案的開發人員在 Visual Studio 中使用 XAML 設計工具啟用這些控件中的範例數據。
要求
範例數據功能需要 Visual Studio 2019 2019 16.10 版 或更新版本。 此功能在您使用新版設計師時,支持針對 .NET Core 或 .NET Framework 的 WPF 開發的 Windows 桌面專案。
範例數據功能的基本概念
範例數據功能僅用於設計時的視覺化。 它只會出現在 XAML 設計工具中,而不是在執行中的應用程式中。 因此,它會套用至 ItemsSource 屬性的 d:ItemsSource設計時間版本。
範例數據需要設計階段命名空間才能運作。
若要開始使用,如果 XAML 檔的標頭尚未存在,請將下列幾行程式代碼新增至您的 XAML 檔的標頭:
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
新增命名空間之後,您可以使用 d:ItemsSource="{d:SampleData}",在 ListView、Listbox或 DataGrid 控件中啟用範例數據。 例如:
<DataGrid d:ItemsSource="{d:SampleData}"/>
在此範例中,若沒有 d:ItemsSource="{d:SampleData}",XAML 設計工具會顯示空的數據格。 相反地,使用 d:SampleData,它現在會顯示產生的預設範例數據。
根據預設,會顯示五個項目。 不過,您可以使用 ItemCount 屬性來指定您想要顯示的項目數。 例如:d:ItemsSource="{d:SampleData ItemCount=2}"。
使用數據範本的範例數據
當您使用數據範本時,範例數據功能適用於 ListBox、ListView或 DataGrid 控件。 此功能會分析 DataTemplate 控件,並嘗試為其產生適當的數據。
範例數據只會針對使用系結的數據範本中的元素產生。 即使系結還沒有來源,也會產生範例數據。 例如:
<ListView d:ItemsSource="{d:SampleData ItemCount=3}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Width="50" Source="{Binding ProfilePicture}"/>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding FirstName}" Margin="5"/>
<Label Content="{Binding LastName}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
使用建議動作的範例數據
若要從設計工具輕鬆啟用或停用控件的範例數據,您可以使用 [建議的動作] 功能。 建議的動作是設計介面上的燈泡,當您選取控制項時,會出現在右上方。 您可以選取控件、選取燈泡,然後選取 [顯示範例數據]來啟用範例數據。 例如:
使用IValueConverter 介面的範例數據
範例數據功能不完全支援轉換器或 IValueConverter 介面。 不過,您可以執行下列其中一項或兩項作業,讓其能夠運作:
- 請確定您的
Convert函式可以處理值已是目標類型的情境。 - 實作
ConvertBack函式,將值轉換為原始類型。
故障排除
如果您的樣本資料未顯示任何項目或無法顯示正確的類型,您可以嘗試重新整理設計器或關閉並重新開啟頁面。
如果您遇到本節中未列出或無法透過重新整理頁面來修正的問題,請使用 回報問題 工具讓我們知道。
相關內容
- XAML 設計時間屬性
- 在 WPF 應用程式中 XAML
- 在 UWP 應用程式中的 XAML
- 在 Xamarin.Forms 應用程式中使用的 XAML
- 在 .NET MAUI 應用程式中 XAML