Xaml 在WinRT中使用Windows Phone示例数据

Xaml 在WinRT中使用Windows Phone示例数据,xaml,windows-runtime,windows-phone-8,winrt-xaml,expression-blend,Xaml,Windows Runtime,Windows Phone 8,Winrt Xaml,Expression Blend,我正在用MVVM制作一个Windows8程序,它与手机共享MVM部分 我的问题是,当我尝试在WinRT中使用Windows Phone项目的XAML示例数据时,我会遇到一系列错误。我的XAML是: <vm:MyViewModel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:vm="c

我正在用MVVM制作一个Windows8程序,它与手机共享MVM部分

我的问题是,当我尝试在WinRT中使用Windows Phone项目的XAML示例数据时,我会遇到一系列错误。我的XAML是:

<vm:MyViewModel
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:MyApp.ViewModels" 
>
我可以像在Windows Phone中一样在WinRT中使用XAML文件作为示例吗?如何解决此错误


谢谢:)

很奇怪,但问题是,出于某种原因,编译器无法识别ViewModel类,即使它们在那里


解决方法:删除XAML示例数据文件,清理并构建;然后,重新创建XAML示例数据文件(内部代码相同!),效果非常好。

非常奇怪,但问题是,出于某种原因,编译器无法识别ViewModel类,即使它们在那里


解决方法:删除XAML示例数据文件,清理并构建;然后,重新创建XAML示例数据文件(里面有相同的代码!),工作起来很有魅力。

创建使用示例数据的另一种方法是将d:DataContext设置为ViewMode,将IsCreatableInDesignTime=True(这意味着它将运行其构造函数),然后在构造函数中创建一些示例对象

XAML:

xmlns:viewmodel="clr-namespace:SampleApp.ViewModels"
d:DataContext="{d:DesignInstance Type=viewmodel:SampleViewModel, IsDesignTimeCreatable=True}">
代码隐藏:

public SampleViewModel()
{
   if (DesignerProperties.IsInDesignTool)
   {
      //CREATE DESIGN TIME DATA HERE
   }
}

是的一部分,并根据您是否在designtime中返回布尔值,这意味着当您运行应用程序时,它将始终返回false。 如果您正在为Windows Phone和Silverlight开发,这将起作用


如果您正在为Windows应用商店开发,则可以使用来检查您是否处于设计时间。除此之外,它的工作原理是相同的。

创建使用示例数据的另一种方法是将d:DataContext设置为ViewMode,设置IsCreatableInDesignTime=True(这意味着它将运行其构造函数),然后在构造函数中创建一些示例对象

XAML:

xmlns:viewmodel="clr-namespace:SampleApp.ViewModels"
d:DataContext="{d:DesignInstance Type=viewmodel:SampleViewModel, IsDesignTimeCreatable=True}">
代码隐藏:

public SampleViewModel()
{
   if (DesignerProperties.IsInDesignTool)
   {
      //CREATE DESIGN TIME DATA HERE
   }
}

是的一部分,并根据您是否在designtime中返回布尔值,这意味着当您运行应用程序时,它将始终返回false。 如果您正在为Windows Phone和Silverlight开发,这将起作用


如果您正在为Windows应用商店开发,则可以使用来检查您是否处于设计时间。除此之外,它的工作原理是相同的。

可能重复我已经读过那个问题,但我的问题不同。有关详细信息,请参阅解决方案。如果我的问题是无用的,它可以被关闭或删除。可能是我已经读过的问题的副本,但我的问题是不同的。有关详细信息,请参阅解决方案。如果我的问题是无用的,它可以关闭或删除Hanks,但正如我之前所写的,我已经找到了解决方案。不管怎样,答案是+1:您的解决方案是不同的,并且有效(在其他项目中使用了类似的代码)。谢谢,但正如我之前所写的,我已经找到了一个解决方案。不管怎样,答案是+1:您的解决方案是不同的,并且有效(在其他项目中使用了类似的代码)。