共用方式為


在 Visual Studio 中搭配 XAML 設計工具使用設計時間範例數據

某些數據相依性控件,例如 ListViewListBoxDataGrid,很難在沒有數據的情況下可視化。 在本文中,我們將檢閱新的方法,讓使用 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 設計時間屬性。

若要開始使用,如果 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}",在 ListViewListboxDataGrid 控件中啟用範例數據。 例如:

<DataGrid d:ItemsSource="{d:SampleData}"/>

顯示資料網格上範例資料的螢幕擷取畫面。

在此範例中,若沒有 d:ItemsSource="{d:SampleData}",XAML 設計工具會顯示空的數據格。 相反地,使用 d:SampleData,它現在會顯示產生的預設範例數據。

根據預設,會顯示五個項目。 不過,您可以使用 ItemCount 屬性來指定您想要顯示的項目數。 例如:d:ItemsSource="{d:SampleData ItemCount=2}"

使用數據範本的範例數據

當您使用數據範本時,範例數據功能適用於 ListBoxListViewDataGrid 控件。 此功能會分析 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 函式,將值轉換為原始類型。

故障排除

如果您的樣本資料未顯示任何項目或無法顯示正確的類型,您可以嘗試重新整理設計器或關閉並重新開啟頁面。

如果您遇到本節中未列出或無法透過重新整理頁面來修正的問題,請使用 回報問題 工具讓我們知道。