Я пытаюсь узнать, как использовать элемент управления Silverlight 3 DataForm , поскольку мне нужно самому определять поля DataForm в коде XAML, то есть я не хочу использовать свойство AutoGenerateFields .
Моя проблема: форма данных работает отлично, когда AutoGenerateFields установлен в true, но когда я создаю DataForm, устанавливаю поля вручную и запускаю приложение, все, что я получаю, это пустой пустой прямоугольник, где должна быть моя форма и ее поля. 1005 *
Я создал пустое навигационное приложение Silverligh, чтобы проверить это, и ниже приведен код страницы Home.xaml:
</p>
<pre><code><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 :
<code>
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;
}
Вы можете увидеть, что происходит, когда я запускаю приложение:
Кто-нибудь знает, что не так? Заранее спасибо.