私は Windows Phone アプリで DesignData を楽しく使用しており、VS2012/Blend for VS の Metro スタイル アプリでデザインを視覚化するために使用したいと考えていました。
私はうまくいけば明白なことを試しました:
<common:LayoutAwarePage
x:Name="pageRoot"
x:Class="MyRootNamespace.Views.EventView"
DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}"
IsTabStop="false"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:MyRootNamespace.Views"
xmlns:common="using:MyRootNamespace.Common"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:bm="using:Bing.Maps"
d:DataContext="{d:DesignData Source=../SampleData/SpecialEventSampleData.xaml}"
mc:Ignorable="d">
大まかに次のように見える SpecialEventSampleData.xaml を使用します。
<local:SpecialEvent
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:MyRootNamespace.ViewModels"
EventName="Foo Fighters"
Description="This exclusive April Fools Gig will see Dave Grohl and the rest of the Foo Fighters rock out at this exclusive made up gig"
VenueName="Village Hall"
/>
参照先のクラスには、パラメーターなしのパブリック コンストラクターがありますが、Visual Studio でエラーが発生しています。
エラー "SpecialEvent" のインスタンスを作成できません。C:...\MyRootNamespace.Windows\SampleData\SpecialEventSampleData.xaml
さらに、ビルド アクションを「DesignData」などに設定する必要があると予想していましたが、これは Visual Studio 2012 のオプションではないようです。
設計時のデータを VS2012/Blend で動作させるにはどうすればよいですか?