我正在使用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
:
无法指定文字值&#39; 2014/01/01&#39;进入财产&#39; StartTime&#39;类型&#39;日期时间&#39;
MyString
的部分完美无缺,但StartTime
没有(它在Windows 8.0中有效),任何想法如何让它工作?为什么要尝试编译设计数据?
根据this question,原因是因为WinRT不支持TypeConverters
。
我看到this question,它建议您创建一个假类,但我真的想在XAML中创建它。
有什么想法吗?
答案 0 :(得分:0)
我创建了这个类:
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" />
基于此,我认为你只需要包含时间字符串。
祝你好运!