デザイン時属性

WPF Designer for Visual Studio を使用して、WPF アプリケーションまたは Silverlight アプリケーションをビルドするとき、場合によっては、デザイン ビューが正しく動作するように情報を提供する必要があります。 このような情報を指定するには、デザイン時属性を使用します。たとえば、デザイン時属性を使用すると、指定した値でルート ウィンドウのサイズを変更し、実行時のコンテンツ ドリブン サイズ変更を維持しながら、レイアウト デザインを収めることができます。 デザイン時属性は、コンパイル時には無視され、実行時に影響しません。

デザイン時属性

WPF デザイナー には、次のデザイン時属性があります。

デザイン時属性

説明

使用例

d:DesignHeight

実行時の高さとは別に、デザイン時のルート要素の高さを指定します。 ルート サイズ タグ (ルート サイズ タグ) をクリックすると、自動的に追加されます。

<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

実行時の幅とは別に、デザイン時のルート要素の幅を指定します。 ルート サイズ タグ (ルート サイズ タグ) をクリックすると、自動的に追加されます。

<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

コントロールとその子のデザイン時データ コンテキストを指定します。 一般的なパターンは、XAML ビューでコントロール バインディングを宣言し、実行時にバインディングの設定に使用する DataContext を設定します。 このパターンを使用すると、デザイナーで型のシェイプが認識されるように d:DataContext を設定できます。 これにより、データ バインディング ビルダーを使用してデザイナー ビューでバインディングを作成できます。 詳細については、「チュートリアル: WPF デザイナーによるデータ バインディングの作成」を参照してください。

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

d:DesignInstance

d:DataContext 宣言または d:DesignSource 宣言の一部として使用されます。 デザイナーでコントロールにバインドするために、データ ソースとして使用できる型を指定します。 この型は、XAML で作成可能にする必要はありません。 詳細については、「チュートリアル: デザイナーでの DesignInstance によるデータへのバインド」を参照してください。

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

d:DesignData

d:DataContext 宣言または d:DesignSource 宣言の一部として使用されます。 デザイン時に使用するために、サンプル データが含まれている XAML ファイルを指定します。 DesignData または DesignDataWithDesignTimeCreatableTypes のビルド アクションを使用して、サンプル データとプロジェクトを統合します。 読み取り専用プロパティには、値を割り当てることができます。 詳細については、「チュートリアル: WPF デザイナーでのサンプル データの使用」を参照してください。

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

d:DesignSource

CollectionViewSource のデザイン時のデータ ソースを指定します。 これにより、デザイナーで型のシェイプが認識されます。 これにより、データ バインディング ビルダーを使用してデザイナー ビューでバインディングを作成できます。

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

d:IsDesignTimeCreatable

d:DesignInstance マークアップ拡張機能で、デザイナーによって生成された代替型ではなく、独自の型からデザイン インスタンスを作成することを指定します。

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

d:CreateList

d:DesignInstance マークアップ拡張機能で、デザイン インスタンスが指定した型のリストであることを指定します。

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

d:Type

d:DesignInstance マークアップ拡張機能で、作成する型を指定します。 インスタンス、独自の型、またはデザイナーによって生成される代替型を作成するかどうかを指定するには、d:IsDesignTimeCreatable を使用します。

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

デザイン時属性へのアクセス

https://schemas.microsoft.com/expression/blend/2008 名前空間を介して、デザイン時属性にアクセスします。 デザイン ビューで、MainWindow 右下隅にあるルート サイズ タグ (ルート サイズ タグ) をクリックすると、その名前空間が自動的にマップされます。

ビルド アクション

d:DesignData を有効にするには、サンプル データが含まれている XAML ファイルでビルド アクションを設定します。 次の表は、ビルド アクションについての説明です。 詳細については、「チュートリアル: WPF デザイナーでのサンプル データの使用」を参照してください。

ビルド アクション

説明

DesignData

サンプル データの型が作成できない場合、またはサンプル データの値を定義する必要があるプロパティが読み取り専用の場合は、このビルド アクションを使用します。 WPF および Silverlight デザイナーによって、ビジネス オブジェクト型と同じプロパティ持つ代替型が作成されます。 型は、作成可能にする必要はありません。 これにより、ファクトリ メソッド、抽象型、およびデータベース接続が複雑になる事態が回避されます。 読み取り専用プロパティには、値を割り当てることができます。

DesignDataWithDesignTimeCreatableTypes

既定の空のコンストラクターを使用してサンプル データの型を作成できる場合は、このビルド アクションを使用します。 WPF および Silverlight デザイナーによって、サンプル データ ファイルで定義されている型のインスタンスが作成されます。 型は、XAML で作成可能にする必要があります。

参照

処理手順

チュートリアル: WPF デザイナーによるデータ バインディングの作成

チュートリアル: デザイナーでの DesignInstance によるデータへのバインド

その他の技術情報

チュートリアル: WPF デザイナーでのサンプル データの使用