繁体   English   中英

如何在WinRT中定义XAML DesignData

[英]How to define XAML DesignData in WinRT

我正在使用Windows 8.1应用程序。

我有一个Page

<Page d:DataContext="{d:DesignData /SampleData/MySampleData.xaml}" 
      x:Class="xxx.MyView"
      ...>
   <TextBlock Text="{Binding MyString}"/>
   <TextBlock Text="{Binding StartTime}"/>
</Page>

然后我有MySampleData.xaml

<local:MyViewModel
 ...
 xmlns:local="using:xxx.ViewModels" 
 MyString="my text"
 StartTime="2014/01/01"/>

MyViewModel.cs我有:

public class MyViewModel
{
    public string MyString {get; set;}
    public DateTime StartTime {get; set;}
}

在设计器中,它可以正确显示,但是在编译时,我的MySampleData.xaml出现此错误:

无法将文本值“ 2014/01/01”分配给类型为“ DateTime”的属性“ StartTime”中

MyString的部分可以完美运行,但是StartTime不能(在Windows 8.0中可以),是否知道如何使它工作? 为什么要尝试编译设计数据?

其他资源

根据此问题 ,原因是因为WinRT不支持TypeConverters

我看到了这个问题 ,它建议您创建一个伪造的类,但是我真的想在XAML中做到这一点。

有任何想法吗?

我创建了此类:

public class Jerry
{
    public DateTime SampleDateTime { get; set; }
}

然后,使用Blend创建了以下示例数据:

<App47:Jerry xmlns:App47="using:App47" 
    xmlns:System="using:System" 
    SampleDateTime="12/11/2014 17:00:25" />

基于此,我认为您只需要包含时间字符串。

祝你好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM