Share via


Entwurfszeitattribute

Wenn Sie WPF- oder Silverlight-Anwendungen mit dem WPF Designer für Visual Studio erstellen, müssen Sie manchmal Informationen angeben, damit sich die Entwurfsansicht ordnungsgemäß verhält. Solche Informationen werden mit Entwurfszeitattributen angegeben. Entwurfszeitattribute ermöglichen es z. B., die Größe des Stammfensters mit bestimmten Werten an den Layoutentwurf anzupassen, während zur Laufzeit die inhaltsgesteuerte Größenanpassung beibehalten wird. Entwurfszeitattribute werden während der Kompilierung ignoriert und haben zur Laufzeit keine Auswirkungen.

Entwurfszeitattribute

Der WPF-Designer stellt die folgenden Entwurfszeitattribute bereit.

Entwurfszeitattribut

Beschreibung

Verwendungsbeispiel

d:DesignHeight

Gibt zur Entwurfszeit die Höhe des Stammelements an, unabhängig von der Höhe zur Laufzeit. Wird automatisch hinzugefügt, wenn Sie auf das Stammgrößentag (Stammgrößentag) klicken.

<Window x:Class="DesignDataDemo.MainWindow"
        xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:DesignDataDemo"
        Title="MainWindow" mc:Ignorable="d" xmlns:d="https://schemas.microsoft.com/expression/blend/2008" xmlns:mc="https://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="350" d:DesignWidth="525" SizeToContent="WidthAndHeight">

d:DesignWidth

Gibt zur Entwurfszeit die Breite des Stammelements an, unabhängig von der Breite zur Laufzeit. Wird automatisch hinzugefügt, wenn Sie auf das Stammgrößentag (Stammgrößentag) klicken.

<Window x:Class="DesignDataDemo.MainWindow"
        xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:DesignDataDemo"
        Title="MainWindow" mc:Ignorable="d" xmlns:d="https://schemas.microsoft.com/expression/blend/2008" xmlns:mc="https://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="350" d:DesignWidth="525" SizeToContent="WidthAndHeight">

d:DataContext

Gibt für ein Steuerelement und die untergeordneten Elemente einen Entwurfszeitdatenkontext an. Ein gängiges Muster ist, Steuerelementbindungen in der XAML-Ansicht zu deklarieren und den DataContext festzulegen, der verwendet wird, um zur Laufzeit die Bindungen aufzufüllen. Wenn Sie dieses Muster verwenden, können Sie d:DataContext festlegen, damit der Designer die Form der Typen kennt. So können Sie den Datenbindungs-Generator verwenden, um Bindungen in der Entwurfsansicht zu erstellen. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen einer Datenbindung mit dem WPF-Designer.

<Grid d:DataContext="{d:DesignInstance Type=local:Customer}" Name="_grid">

d:DesignInstance

Wird als Teil einer d:DataContext- oder d:DesignSource-Deklaration verwendet. Gibt den Typ an, den Sie als Datenquelle für die Bindung an Steuerelemente im Designer verwenden können. Der Typ muss nicht in XAML erstellt werden können. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Binden von Daten im Designer mit einer DesignInstance.

<Grid d:DataContext="{d:DesignInstance Type=local:Customer}" Name="_grid">

d:DesignData

Wird als Teil einer d:DataContext- oder d:DesignSource-Deklaration verwendet. Gibt eine XAML-Datei an, die Beispieldaten für die Verwendung zur Entwurfszeit enthält. Integrieren Sie die Beispieldaten mithilfe der DesignData-oder DesignDataWithDesignTimeCreatableTypes-Buildvorgänge in das Projekt. Schreibgeschützten Eigenschaften können Werte zugewiesen werden. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Verwenden von Beispieldaten im WPF-Designer.

<StackPanel d:DataContext="{d:DesignData Source=./DesignData/SampleCustomer.xaml}" Grid.Row="0"></StackPanel>

d:DesignSource

Gibt eine Entwurfszeitdatenquelle für eine CollectionViewSource an. Dadurch kennt der Designer die Form der Typen. Dies ermöglicht es Ihnen, den Datenbindungs-Generator zum Erstellen von Bindungen zu verwenden.

<CollectionViewSource x:Key="CustomerViewSource" d:DesignSource="{d:DesignInstance local:Customer, CreateList=True}" /> 

d:IsDesignTimeCreatable

Gibt in der d:DesignInstance-Markuperweiterung an, dass die Entwurfsinstanz aus Ihrem Typ erstellt wird und nicht aus einem vom Designer generierten Ersatztyp.

<Grid d:DataContext="{d:DesignInstance local:Customer, IsDesignTimeCreatable=True}">

d:CreateList

Gibt in der d:DesignInstance-Markuperweiterung an, dass die Entwurfsinstanz eine Liste des angegebenen Typs bildet.

<CollectionViewSource x:Key="CustomerViewSource" d:DesignSource="{d:DesignInstance local:Customer, CreateList=True}" />

d:Type

Gibt in der d:DesignInstance-Markuperweiterung den zu erstellenden Typ an. Verwenden Sie d:IsDesignTimeCreatable, um anzugeben, ob eine Instanz oder Ihr Typ oder ein vom Designer generierter Ersatztyp erstellt wird.

<CollectionViewSource x:Key="CustomerViewSource" d:DesignSource="{d:DesignInstance Type=local:Customer, CreateList=True}" />

Zugreifen auf Entwurfszeitattribute

Sie greifen auf die Entwurfszeitattribute über den https://schemas.microsoft.com/expression/blend/2008-Namespace zu. Der Namespace wird automatisch zugeordnet, wenn Sie auf das Stammgrößentag (Stammgrößentag) unten rechts im MainWindow in die Entwurfsansicht klicken.

Buildvorgänge

Um d:DesignData zu aktivieren, legen Sie Buildvorgänge für die XAML-Dateien fest, die die Beispieldaten enthalten. In der folgenden Tabelle werden die Buildvorgänge beschrieben. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Verwenden von Beispieldaten im WPF-Designer.

Buildvorgang

Beschreibung

DesignData

Verwenden Sie diesen Buildvorgang, wenn die Beispieldatentypen nicht erstellbar sind oder schreibgeschützte Eigenschaften aufweisen, für die Sie Beispieldatenwerte definieren möchten. Der WPF- und Silverlight-Designer erstellt Ersatztypen, die über die gleichen Eigenschaften wie die Geschäftsobjekttypen verfügen. Die Typen müssen nicht erstellt werden können. Dies reduziert die Komplexität im Zusammenhang mit Factorymethoden, abstrakten Typen und Datenbankverbindungen. Schreibgeschützten Eigenschaften können Werte zugewiesen werden.

DesignDataWithDesignTimeCreatableTypes

Verwenden Sie diesen Buildvorgang, wenn die Beispieldatentypen mit deren leeren Standardkonstruktoren erstellt werden können. Der WPF- und Silverlight-Designer erstellt Instanzen der in der Beispieldatendatei definierten Typen. Die Typen müssen in XAML erstellt werden können.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Erstellen einer Datenbindung mit dem WPF-Designer

Exemplarische Vorgehensweise: Binden von Daten im Designer mit einer DesignInstance

Weitere Ressourcen

Exemplarische Vorgehensweise: Verwenden von Beispieldaten im WPF-Designer