我正在尝试学习如何使用 Silverlight 3 DataForm控件,因为我需要自己在 XAML 代码中定义 DataForm 字段,即我不想使用 AutoGenerateFields 属性。
我的问题是:当 AutoGenerateFields 设置为 true 时,数据表单工作得很好,但是当我创建一个 DataForm 并手动设置字段并运行应用程序时,我得到的只是一个空白的空白矩形,我的表单及其字段应该是。
我创建了一个空白的 Silverligh 导航应用程序来测试它,下面是 Home.xaml 页面的代码:
<Grid x:Name="LayoutRoot">
<StackPanel>
<!-- This doesn't work. It renders a blank rectangle -->
<dataFormToolkit:DataForm x:Name="DataForm">
<dataFormToolkit:DataForm.EditTemplate>
<DataTemplate>
<StackPanel dataFormToolkit:DataField.IsFieldGroup="True">
<dataFormToolkit:DataField>
<TextBox Text="Test1" />
</dataFormToolkit:DataField>
<dataFormToolkit:DataField>
<TextBox Text="Test2" />
</dataFormToolkit:DataField>
<dataFormToolkit:DataField>
<TextBox Text="Test3" />
</dataFormToolkit:DataField>
</StackPanel>
</DataTemplate>
</dataFormToolkit:DataForm.EditTemplate>
</dataFormToolkit:DataForm>
<!-- This works. -->
<dataFormToolkit:DataForm x:Name="DataForm2"/>
</StackPanel>
</Grid>
为了使第二个 DataForm 工作,我简单地创建了一个 Person 类,并将以下内容放入Home.xaml.cs:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
Person client = new Person { Age = 10, DateOfBirth = new DateTime(1980, 10, 20), FirstName = "John", LastName = "Doe" };
DataForm2.CurrentItem = client;
}
你可以看到当我运行应用程序时会发生什么:
有谁知道出了什么问题?先感谢您。