gpt4 book ai didi

c# - 我如何使用 DesignData 来帮助开发 Metro 应用程序?

转载 作者:行者123 更新时间:2023-11-30 15:03:22 25 4
gpt4 key购买 nike

我一直在 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"
/>

它引用的类有一个公共(public)的、无参数的构造函数,但 Visual Studio 给出了一个错误:

Error Cannot create an instance of "SpecialEvent". C:...\MyRootNamespace.Windows\SampleData\SpecialEventSampleData.xaml

此外,我希望必须将构建操作设置为“DesignData”或类似的操作,但这似乎不是 Visual Studio 2012 中的一个选项?

我需要做什么才能获得 design time data在 VS2012/Blend 中工作?

最佳答案

SpecialEvent 是您的 ViewModel 吗?如果是这样,您能否在您的 XAML 中执行类似的操作(在您的 common:LayoutAwarePage 打开声明之后)?

<d:Page.DataContext>
<local:SpecialEvent>
</d:Page.DataContext>

然后从您的 common:LayoutAwarePage 中删除这一行:

d:DataContext="{d:DesignData Source=../SampleData/SpecialEventSampleData.xaml}" 

我有与此类似的有效代码。

关于c# - 我如何使用 DesignData 来帮助开发 Metro 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11638437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com