【发布时间】:2023-03-23 08:36:01
【问题描述】:
我正在开发 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 中确实如此),知道如何让它工作吗?又为什么要编译设计数据?
其他资源
根据this question,原因是因为WinRT不支持TypeConverters。
我看到this question,它建议你创建一个假类,但我真的想在 XAML 中做。
有什么想法吗?
【问题讨论】:
标签: c# xaml winrt-xaml