XAMLコードでDataFormフィールドを自分で定義する必要があるため、Silverlight 3 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>
2番目の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;
}
アプリケーションを実行するとどうなるかがわかります。
誰かが何が悪いのか知っていますか?前もって感謝します。