如何在 WinRT 中定义 XAML 设计数据
本文关键字:XAML 数据 定义 WinRT | 更新日期: 2023-09-27 18:33:15
我正在开发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"分配给类型为"日期时间"的属性"开始时间">
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" />
基于此,我认为您只需要包含时间字符串。
祝你好运!