我一直在 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 中工作?